Entwickler-Ecke
Programmierwerkzeuge - Delphi2007: [Pascal Fataler Fehler] F2051 Unit....
jjturbo - Di 17.03.09 17:30
Titel: Delphi2007: [Pascal Fataler Fehler] F2051 Unit....
Moin Forum,
auf einma (ich habe jetzt keinerlei Komponenten installiert) kann ich auf einmal mein Projekt nicht mehr kompilieren.
Ich habe probehalber mal zwei andere Projekte versucht, haufenweise solcher Fehlermeldungen...
Quelltext
1: 2:
| [Pascal Fataler Fehler] F2051 Unit LMDBase wurde mit einer unterschiedlichen Version von Classes.TComponent compiliert [Pascal Fataler Fehler] F2051 Unit LMDCustomPanel wurde mit einer unterschiedlichen Version von Controls.TCustomControl.PaintWindow compiliert |
Was hat das zu bedeuten?
Hiiiilfe :-(
Sinspin - Di 17.03.09 17:44
Delphi ganz ganz selten mal etwas. Lösch mal alle zum Projekt gehörende *.dcu's.
Aber irgendwas musst du verändert haben. Hast du irgendwelche Verzeichnisse gelöscht oder Komponenten deinstalliert?
jjturbo - Di 17.03.09 17:49
Nein, habe nichts installiert oder gelöscht.
Kurze Zeit vorher hatte Delphi sich einmal komplett weggehängt...
Und jetzt bleibt der Editor manchmal hängen :-((
So´n Mist, grade wenn mans eilig hat *grr*
Neuinstallation versuchen?
Xentar - Di 17.03.09 17:53
Du könntest versuchen, die LMD Komponenten ,die scheinbar diesen Fehler verursachen, neu zu installieren
jjturbo - Di 17.03.09 17:58
Hab ich eben probiert, brachte leider auch nichts.
Ein paar andere Projekte habe ich auch versucht zu öffnen, zeigt total viele Fehler an, nicht nur LMD-Komponenten. Ich habe irgendwie den Verdacht, daß mein Notebook eine Selbstzerstörungssequenz eingeleitet hat.
Beim Versuch Delphi neu zu installieren bekomme ich einen E/A-Fehler...
Mitmischer 1703 - Di 17.03.09 18:43
Hatte ich auch mal (mit Delphi). Direkt nach Win Vista SP3..
jaenicke - Di 17.03.09 18:50
Diese Fehlermeldung wird normalerweise dadurch verursacht, dass im Bibliothekspfad eine andere Version dieser Dateien liegt. In diesem Fall wird das die Classes.dcu sein.
Eine Möglichkeit dies zu überprüfen ist den Pfad auf den Standardpfad zurückzusetzen. Nur die Pfade zu den LMD Tools müssen drin sein, da die ja sonst auch nicht mehr gehen.
Welche Delphiversion benutzt du denn gerade? Dann kann ich den Standardpfad einfach mal posten.
jjturbo - Mi 18.03.09 09:05
Hi,
auch die Neuinstallation ist fehlgeschlagen, es kam immer eine Fehlermeldung 2337, die Installation von Delphi wurde daraufhin abgebrochen, das Hilfesystem wurde dann aber noch ordnungsgemäß installiert. Toll.
Ich habe jetzt ein Backup vom Wochenende eingespielt, erst mal läufts wieder.
Aber danke Euch dennoch für die Tipps.
Gruß
Oliver
jjturbo - Do 02.04.09 13:29
javascript:emoticon(':evil:')
Jetzt habe ich den Fall schon wieder:
Delphi-Quelltext
1:
| [DCC Fehler] Variablen.pas(8): F2051 Unit Spin wurde mit einer unterschiedlichen Version von Buttons.TSpeedButton compiliert |
Ich kann ja jetzt nicht jedes Mal ein Backup einspielen.
Ist es denn ein Problem, daß ich mit delphi5 auf dem gleichen Rechner arbeite? Kommen sich die beiden Versionen ins Gehege?
Wie bekomme ich das jetzt wieder zum Laufen?
:(
jaenicke - Do 02.04.09 13:43
Du musst dir die Pfade anschauen. Die überlappen sich irgendwo, so dass eine Version in einem Pfad der anderen sucht. Zum Beispiel könnte auch so ein Pfad evtl. in den Umgebungsvariablen liegen (auch wenn ich damit bisher nie ein Problem hatte).
Ist Unit Spin eine von dir selbst? Schau dir einmal an wo die kompilierte Version davon überall liegt.
Ich jedenfalls habe Delphi 5, 6, 7, 2005, 2006 und 2007 auf einem (virtuellen) PC installiert, da gibt es keinerlei Probleme.
Wirklich überschrieben werden können die Dateien unter c:\programme ja wegen der Verzeichnisrechte nicht (es sei denn Delphi hätte Administratorrechte). Oder arbeitest du noch mit XP und als Admin?
Ich könnte einmal eine Funktion aus meinen Setuputilities für Delphipackages ausbauen und ein Tool basteln, mit dem du nach bestimmten Units in den Bibliothekspfaden fahnden kannst, wenn du manuell nichts findest.
jjturbo - Do 02.04.09 14:27
Ja, ich arbeite noch mit XP... :(
Ich suche mal grade nach der Unit Spin...
jjturbo - Do 02.04.09 14:42
Ok, diese Datei existiert unter
C:\Programme\Borland\Delphi5\Lib
und
C:\Programme\CodeGear\RAD Studio\5.0\lib
Und nun? Der Ordner aus der 5er version steht nicht im Bibliothekspfad...
jaenicke - Do 02.04.09 14:46
Und die Datei vom RAD Studio ist geändert am 09.03.2007 und 25,5 KiB groß? Und die Buttons.dcu 51,4 KiB?
jjturbo - Do 02.04.09 15:04
Delphi5:
spin.dcu: 22kb, 18.08.1999
spin.pas: 17kb, 18.08.1999
buttons.pas: 46kb, 18.08.1999
buttons.dcu: 36kb, 18.08.1999
Delphi2007:
spin.dcu: 26kb, 26.08.2007
spin.pas: 18kb, 26.08.2007
buttons.pas: 46kb, 18.08.1999
buttons.dcu ist drei mal vorhanden:
unter \lib 52kb, 11.12.2007
unter \lib\debug 60kb, 11.12.2007
unter \source\win32\vcl 59kb, 31.03.2009 !!!
jaenicke - Do 02.04.09 15:53
Das letzte ist der Fehler: Im Source-Verzeichnis liegt der Quelltext nur zum Anschauen. Aus irgendeinem Grund liegt dort auch eine kompilierte Version. Lösch dort alle .dcu Dateien oder verschiebe die woanders hin.
Dieses Verzeichnis gehört nicht in den Bibliothekspfad, sondern nur in den Browsingpfad etwas weiter unten in der Seite der Einstellungen.
jjturbo - Do 02.04.09 23:58
DAS war der Fehler.
In den Source-Ordner gab es jede Menge dcu´s. Diese Pfade waren im Bibliothekspfad vorhanden. Dcu´s gelöscht, Bibliothekspfad bereinigt.
Morgen früh werde ich mal sehen, ob ich wieder alles compilieren kann.
*freu*
DANKE :)
jaenicke - Fr 03.04.09 00:13
Nebenbei: Man kann zum Debuggen innerhalb der VCL-Quelltexte spezielle Debug-DCUs benutzen. Das kann man in den Projektoptionen unter Compiler einstellen.
Denn der Versuch so die Quelltextunits neu zu kompilieren und zu debuggen ist wohl die häufigste Ursache dafür, dass die Quelltextpfade im Bibliothekspfad landen, deshalb erwähne ich das hier einmal.
jjturbo - Fr 03.04.09 08:11
Also noch mal zusammenfassend:
Die Source-Pfade dürfen nicht im Bibliothekspfad liegen, da sonst die dortigen *.pas Dateien kompiliert werden und dann mehrfach gefunden würden.
Also kann ich auch alle dcu´s, die unter Source oder dessen Unterverzeichnissen gefunden werden löschen?
jaenicke - Fr 03.04.09 14:37
Richtig, da gehören keine kompilierten Units hin.
Und die Pfade zu den Quelltextdateien gehören nur in den Browsing Pfad, nicht in den Bibliothekspfad, genau.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!