System.pas wird nicht gefunden



  • Hallo,

    ich habe ein Problem beim einbinden von .pas-Dateien.
    Ich habe ein Programm mit einigen Funktionen, die ich in ein anderes Programm übernehmen möchte. Dazu mussten 3 .pas-Dateien dem Projekt hinzugefügt werden. Aus irgendeinem mir unbekannten Grund findet das RAD Studio aber jetzt die System.pas nicht mehr.

    Include- und Bibliothekspfade sind exakt gleich dem Ursprungsprojekt (das sich ohne Probleme kompilieren lässt).

    Wenn mir einer sagen könnte, wo ich noch gucken könnte, wäre das toll ... :xmas1:

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

    bei der eingebundenen Datei springt er dann immer an den Anfang

    unit MeineDatei;

    interface
    uses
    Classes, Sysutils, DCPconst, DCPbase64; <-- alle unbekannt 😕

    edit: was mir grade noch eingefallen ist: wenn ich die Funktionsaufrufe (nicht die Funktionen) auskommentiere, dann wird alles kompiliert und ich kann mit dem Programm arbeiten (bis auf halt diese Funktionen).
    Das sollte doch eigentlich nicht so sein, oder? Weil wenn das Projekt kompiliert wird, dann ist es doch egal ob die Funktion aufgerufen wird oder nicht.



  • Möglicherweise ist die Ursache, daß der Delphi-Compiler irgendwo *.dcu-Dateien zu deinen *.pas-Dateien findet, die mit einer anderen Version einer gemeinsamen Abhängigkeit kompiliert wurden (etwa wenn die *.dcu für ein Programm erstellt wurde, das seine eigene Classes.pas-Datei verwendet) und daraufhin versucht, alle Abhängigkeiten neu zu erstellen. Das merkst du daran, wenn die Compiler-Statusmeldungen öfters bei .pas-Dateien aus RTL und VCL verweilen. Das sollte eigentlich nicht passieren und hört, wie du merkst, spätestens bei System.pas auf.

    Vixen schrieb:

    Dazu mussten 3 .pas-Dateien dem Projekt hinzugefügt werden.

    Nur eigene .pas-Dateien, oder duplizierst und modifizierst du irgendwelche .pas-Dateien, die zum Lieferumfang gehören?

    Vixen schrieb:

    Include- und Bibliothekspfade sind exakt gleich dem Ursprungsprojekt (das sich ohne Probleme kompilieren lässt).

    Was die Pfadkonfiguration angeht, schau mal hier:
    https://forums.embarcadero.com/thread.jspa?threadID=21192



  • Hallo,

    ich habe ein Problem beim einbinden von .pas-Dateien.
    Ich habe ein Programm mit einigen Funktionen, die ich in ein anderes Programm übernehmen möchte. Dazu mussten 3 .pas-Dateien dem Projekt hinzugefügt werden. Aus irgendeinem mir unbekannten Grund findet das RAD Studio aber jetzt die System.pas nicht mehr.

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

    Das problem hatte ich auch, als ich die .pas-Dateien mit dcc32 -jphn ... linken wollte.
    Hab zuerst versucht die .dcu's in mein verzeichnis zu kopieren. Hatte aber nach uber zehn Dateien kein Bock meht gehabt und meine .pas in das "lib"-vezeichnis von Embarcadero kopiert. Dort ging es dann :p



  • @audacia - das hört sich interessant an. Irgendwas bringt der Compiler ja definitiv durcheinander 🙄

    Das Programm, bei dem das Compilieren funktioniert, hat nur einen Button und 2 Edit-Felder. Ich benutze die selben .pas-Dateien wie dieses Programm (die hat ein Kollege von mir erstellt). Ich habe sie nicht kopiert oder sonstwas, sondern sie einfach mit "dem Projekt hinzufügen" dazugeholt. Bei besagtem Kollegen und besagtem anderen Programm hat das auch funktioniert ... bloß eben bei mir nicht 😕

    ich werd morgen noch mal nachgucken ob ich noch was zusätzlich in den include Pfad schreiben kann was hilft. Wenn das nicht geht, versuche ich mal die Compilation mit dem dcc32.exe so wie in dem Link beschrieben ...

    und wenn das auch nicht geht, guck ich mal ob ich dem RAD Studio die Dinger aus den .pas-Dateien als Komponente unterjubeln kann ...

    hoffe bis Weihnachten funzt es dann :xmas1:



  • Sooo ... noch n paar Verzeichnisse included (auch mal im Suchpfad des Delphi-Compilers weiter unten) - bringt nix.

    Für den Kommandozeilencompiler (bcc32 isses ja für C++) bin ich wohl zu dusselig - gibt nur 'nen Haufen Fehler.



  • okay - Fehler gefunden ...

    Bei den include-Pfaden stellt man ja eigentlich immer auf "Basis" um und fügt die Pfade dort hinzu. Allerdings möchte der "debug"-Pfad auch etwas haben:

    $(BDS)\lib\win32\debug
    

    das habe ich jetzt einfach in lib und include ergänzt.


Anmelden zum Antworten