Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   System.pas nicht gefunden (https://www.delphipraxis.net/161525-system-pas-nicht-gefunden.html)

youuu 7. Jul 2011 12:37

System.pas nicht gefunden
 
[DCC Fataler Fehler] Project1.dpr(1): F1027 Unit nicht gefunden: 'System.pas' oder binäres Äquivalent (.dcu)

Delphi ist frisch installiert, nach der JCL Installation fand er die System.pas nicht mehr.
Pfade sehen alle korrekt aus, habe sogar zum die system.pas im frischen Projekt eingefügt, selbst dann findet er sie nicht.

Neuinstallation hat auch nichts geändert.

Wie kann das sein?

mleyen 7. Jul 2011 12:40

AW: System.pas nicht gefunden
 
System.pas kompiliert er normalerweise nicht.
Du brauchst die System.dcu.

Zur Not solle aber folgendes gehen:
Code:
dcc32.exe -Y System.pas

youuu 7. Jul 2011 12:59

AW: System.pas nicht gefunden
 
Naja, die System.dcu ist natürlich auch vorhanden.

bringt aber alles nichts.

mkinzler 7. Jul 2011 13:00

AW: System.pas nicht gefunden
 
Passt die DCU auch zur Delphi-Version? Sind die Pfade richtig gesetzt (System, IDE)?

himitsu 7. Jul 2011 13:07

AW: System.pas nicht gefunden
 
Eine eigene/zusätzliche System.pas/.dcu sollte man eh nicht rumliegen haben (siehe letzter Delphi-Virus), es sei denn man hat da wirklich notwendige Änderungen drinnen vorgenommen, aber sowas sollte ja eigentlich nicht nötig sein.

Es gibt die System-Units im delphi und diese sollten ausreichen ... werden sie nicht gefunden, dann sollte man besser den entsprechenden Grund beseitigen, anstatt sich mit solchen "Hacks" zu behelfen.
Zitat:

Passt die DCU auch zur Delphi-Version? Sind die Pfade richtig gesetzt (System, IDE)?
Wenn man keine "anderen" System-Units verwendet, dann sollte diese Frage obsolete sein.

youuu 7. Jul 2011 13:15

AW: System.pas nicht gefunden
 
Ja ist "eigentlich" alles richtig gesetzt.

Werde nun nochmal alles deinstallieren und erneut installieren.
Gebe euch dann Bescheid.

Stevie 7. Jul 2011 13:23

AW: System.pas nicht gefunden
 
Schau mal, ob unter Environment Options\Delphi Options\Library->Library path der Pfad "$(BDSLIB)\$(Platform)\release" (oder ähnlich, ich hab hier XE und bin nicht sicher, ob's das $(Platform) schon in 2010 gab) drinsteht.

Neulich hat's nen Kollege wie auch immer hinbekommen, den rauszulöschen und hatte exakt denselben Fehler.

youuu 7. Jul 2011 13:29

AW: System.pas nicht gefunden
 
Neuinstallation hat nicht bewirkt.

Bibliothekspfad: $(BDS)\lib;$(BDSUSERDIR)\Imports;$(BDS)\Imports;$( BDS)\Lib\Indy10;$(BDSCOMMONDIR)\Dcp;$(BDS)\include ;$(BDS)\RaveReports\Lib

jaenicke 7. Jul 2011 13:35

AW: System.pas nicht gefunden
 
Liegt die System.dcu denn in dem Verzeichnis $(BDS)\lib?

Bei XE ist auch das Verzeichnis $(BDS)\lib\$(Platform)\release im Pfad, aber dann vermute ich mal, dass die Trennung nach Plattformen erst mit XE kam.

Sonst schau einfach einmal mit dem Process Monitor wo die Unit gesucht wird. ;-)

youuu 7. Jul 2011 13:44

AW: System.pas nicht gefunden
 
$BDS = c:\program files (x86)\embarcadero\rad studio\7.0

$(BDS)\lib = c:\program files (x86)\embarcadero\rad studio\7.0\lib

und da liegt die System.dcu auch drin.

Zitat:

Sonst schau einfach einmal mit dem Process Monitor wo die Unit gesucht wird.
Wie kann ich das machen? Das hab ich bislang nie machen müssen

mleyen 7. Jul 2011 13:56

AW: System.pas nicht gefunden
 
Bei mir liegt in lib\debug noch eine andere System.dcu.
Code:
rls: 5A856305FF4D9E0825619757F0DE9EF0
dbg: D2B1A1BA7F654A545E5DD2F9596988EF
Ansonsten kopier die mal in das Projektverzeichnis.
Wenns dann nicht geht ist irgendwas anderes kaputt.
Gehts in keinem Projekt?
Schon alle Jedis wieder de/neuinstalliert?

youuu 7. Jul 2011 14:03

AW: System.pas nicht gefunden
 
Liste der Anhänge anzeigen (Anzahl: 1)
C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\lib\de

Dort sucht er anscheinend.

Siehe Bild


Edit: nun geht es wieder nachdem ich alles in das "de" Verzeichnis kopiert habe

himitsu 7. Jul 2011 14:06

AW: System.pas nicht gefunden
 
Debug <> Release

Die eine Version enthält Debuginfos und die andere nicht ... also müssen sich diese Dateien unterscheiden. :zwinker:
PS: Projektoptionen > Mit Debug-DCUs kompilieren und schon kannst du beim Debuggen auch die Delphi-Units auch mit debuggen. (Haltepunkte im VCL-Quelltext und Co.)

Im Delphi sind viele Debuginfos in den DCU enthalten (C und Co. legen sie in meist in externen Dateien ab)

shmia 7. Jul 2011 14:32

AW: System.pas nicht gefunden
 
Eigentlich sucht der Compiler gar nicht die System.pas sondern er hat ein anderes Problem.
Zum Beispiel gibt es beim Projekt einen Ausgabepfad für die DCUs.
Wenn dieser Pfad nicht passt oder wenn es ein relativer Pfad ist dann bringt der Compiler diese unsinnige Fehlermeldung.

Stevie 7. Jul 2011 14:35

AW: System.pas nicht gefunden
 
Zitat:

Zitat von youuu (Beitrag 1110578)
C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\lib\de

Dort sucht er anscheinend.

Siehe Bild


Edit: nun geht es wieder nachdem ich alles in das "de" Verzeichnis kopiert habe

Im Delphi Verzeichnis rumzufuckeln, halte ich persönlich für die schlechteste Alternative.

Im Messages Window solltest du die volle dcc command line sehen können und dort werden auch die Suchpfade mitgegeben.
Wenn in den Env Options nämlich der richtige Pfad steht um beim Kompilieren wird nicht in diesem Pfad gesucht, stimmt irgendwas anderes nicht.
Handelt es sich um ein neues Projekt oder ist da in der dproj Datei irgendwas schief?

@shmia: Wie kommst du darauf, wenn man doch im Screenshot genau sieht, dass die system.dcu gesucht wird? (aber genau in dem Pfad, wo sie sein sollte ebend nicht)

shmia 7. Jul 2011 15:39

AW: System.pas nicht gefunden
 
Zitat:

Zitat von Stevie (Beitrag 1110610)
@shmia: Wie kommst du darauf, wenn man doch im Screenshot genau sieht, dass die system.dcu gesucht wird? (aber genau in dem Pfad, wo sie sein sollte ebend nicht)

Weil der Compiler normalerweise nicht nach der System.pas/System.dcu im Suchpfad sucht.
Diese Unit hat eine Sonderstellung und der Compiler weiss das.
Durch irgendwelche Umstände vergisst der Compiler die Sonderstellung der Unit System und fängt an diese im Suchpfad zu suchen.
Er findet natürlich nichts.
Die System.pas liegt rein nur aus informativen Gründen auf der Platte.
Es ist jedenfalls nicht möglich die System.dcu aus der System.pas herzustellen.

Stevie 7. Jul 2011 16:16

AW: System.pas nicht gefunden
 
Zitat:

Zitat von shmia (Beitrag 1110636)
Zitat:

Zitat von Stevie (Beitrag 1110610)
@shmia: Wie kommst du darauf, wenn man doch im Screenshot genau sieht, dass die system.dcu gesucht wird? (aber genau in dem Pfad, wo sie sein sollte ebend nicht)

Weil der Compiler normalerweise nicht nach der System.pas/System.dcu im Suchpfad sucht.
Diese Unit hat eine Sonderstellung und der Compiler weiss das.
Durch irgendwelche Umstände vergisst der Compiler die Sonderstellung der Unit System und fängt an diese im Suchpfad zu suchen.

Nix Sonderstellung (in Bezug auf den Pfad, worum es hier geht) - Gegenbeweis deiner Behauptung:
- Entfern das Verzeichnis, in dem sich die system.dcu befindet aus dem Bibliotheks-/Suchpfad befindet -> Fehlermeldung wie beim TE
- Verschieb die system.dcu aus dem Lib Verzeichnis in ein Verzeichnis, welches sich nicht im Bibliotheks-/Suchpfad befindet -> Fehlermeldung wie beim TE
- Verschieb die system.dcu in ein beliebiges Verzeichnis, welches sich im Bibliotheks-/Suchpfad befindet -> Erfolgreiches Kompilieren

Sonderstellung in Bezug auf uses etc stimmt natürlich - ist aber hier unerheblich.

himitsu 7. Jul 2011 16:24

AW: System.pas nicht gefunden
 
Stümmt, eine Sonderstellung haben diese beiden Units System und SysInit nicht, außer daß sie automatisch immer eingebunden werden.

Aus diesem Grunde gibt es auch von Assarbad eine Minimalversion der System.pas, womit man besonders keine EXEn erstellen kann, da er Vieles dort rausgeworfen hat.
(natürlich nur, wenn die EXE eh schon klein ist und nichts vom Programm benötigt wird, welches rausgeworfen wurde)

Codehunter 11. Feb 2013 14:26

AW: System.pas nicht gefunden
 
Ich will diesen alten Thread nochmal hochkramen, da mir gerade das selbe passiert ist. Zum Teil kann ich nachvollziehen, was passiert ist.

Ich war beim XE2 in den Einstellungen/Bibliothekspfad. In dem Fenster "Verzeichnisse" gibt es einen Button "Ungültige Pfade löschen". Da einige Einträge grau waren, klickte ich ordnungsbewusst auf diese Button. Das war ein ganz böser Fehler. Scheinbar erkennt die XE2-IDE einige Pfade als ungültig, die sie aber unbedingt braucht. So z.B. "$(BDSLIB)\$(Platform)\release" und "$(BDSLIB)\$(Platform)\debug".

Nachdem aufgeräumt war, fand der Compiler die system.pas nicht mehr und ich bekam die vom Opener beschriebene Fehlermeldung. Nach viel Recherche habe ich dann den Hinweis auf die fehlenden Einträge (siehe oben) gefunden. Nachdem ich die wieder hinzugefügt hatte, bekam ich zumindest die 32-Bit-Plattform wieder kompiliert.

Bei 64-Bit gibt es jetzt noch diverse Fehlermeldungen, z.B. "[DCC Fataler Fehler] System.Variants.pas(980): E2158 System.Variants-Unit veraltet oder beschädigt: '@VarCast' fehlt".

Daher meine Bitte: Könnte mir mal jemand mit einem XE2 eine Liste der Bibliothekspfade geben, insbesondere die mit den Variablen a la "$(BDSLIB)" usw. Sowohl für die 32-Bit- als auch die 64-Bit-Plattform.

Danke schonmal !

EDIT: Das hier hat geholfen.

Im Übrigen: 3x :wall: @Emba für die "lustige" Aufräumfunktion bei den Bibliothekspfaden!

Mavarik 25. Jul 2013 14:28

AW: System.pas nicht gefunden
 
Zitat:

Zitat von Codehunter (Beitrag 1202895)
Ich will diesen alten Thread nochmal hochkramen

Ich schon...

Ich kapiere es immer noch nicht...

XE4 neues mobiles Projekt... Nix drauf, nicht mal nen Button...

Ziel iOS_Device - F9 (Save Unit115.pas Projekt117.dpr) alles Prima.

Ein klick auf Build-Konfiguration - Release - F9

Fataler Fehler... F1027 Unit nicht gefunden: 'System.pas' oder binäres Äquivalent (.dcu/.o)

Bibliothekspfad:
$(BDSLIB)\$(PLATFORM)\Release // den gibt es auch...
aber unter
Bibliothek - Übersetzt seht
$(BDSLIB)\$(Platform)\release\$(LANGDIR) // Platform <> PLATFORM!!!

Es funktioniert aber trotzdem nicht...

Jemand ne Idee?

Mavarik

arnof 25. Jul 2013 21:04

AW: System.pas nicht gefunden
 
Ja, kommt mir bekannt vor ...

Lösung:

http://www.delphipraxis.net/175738-i...erstellen.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz