Einzelnen Beitrag anzeigen

Benutzerbild von arcticwolf
arcticwolf

Registriert seit: 3. Aug 2021
Ort: Erfurt
41 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Ausgabeverzeichnis für EXE und DCU nicht änderbar?

  Alt 24. Apr 2023, 11:09
Lösung - Kurze Version:
DPROJ-Datei löschen und Projekt-Optionen neu einrichten -> läuft.

Lösung - Lange Version:
Ich habe das Laufwerk "D:" verschwinden lassen und in der Bild-Konfiguration
E:\Delphi\EXE\
E:\Delphi\Units\
eigestellt. Dann kommen beim kompilieren folgende Fehlermeldungen:
[MakeDir Fehler] Das Verzeichnis "D:\dev\Delphi\EXE\Win32\Debug\" kann nicht erstellt werden. Ein Teil des Pfades "D:\dev\Delphi\EXE\Win32\Debug\" konnte nicht gefunden werden.
[MakeDir Fehler] Das Verzeichnis "D:\dev\Delphi\EXE\Win32" kann nicht erstellt werden. Ein Teil des Pfades "D:\dev\Delphi\EXE\Win32" konnte nicht gefunden werden.
In der DPROJ sind nur folgende Einträge zu "DCC_???Output" zu finden

Code:
<PropertyGroup Condition="'$(Base)'!=''">
   ...
   <DCC_ExeOutput>E:\Delphi\EXE\</DCC_ExeOutput>
   <DCC_DcuOutput>E:\Delphi\Units\</DCC_DcuOutput>
   ...
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''">
      ...
   <DCC_ExeOutput>E:\Delphi\EXE\</DCC_ExeOutput>
   <DCC_DcuOutput>E:\Delphi\Units\</DCC_DcuOutput>
   ...
</PropertyGroup>
Ergo irgendwo muss sich Delphi also den "alten" Pfad gemerkt haben. Ich habe deshalb mal die komplette DPROJ-Datei durchsucht, welche immerhin stattliche 70.977 Bytes groß ist, und habe dort folgende Einträge gefunden.

Code:
<ProjectExtensions>
   ...
   <BorlandProject>
      ...
      <Deployment Version="4">
         ...
         <DeployFile LocalName="C:\Develop\Delphi\EXE\Console\Win32\MyConsole.exe" Configuration="Debug" Class="ProjectOutput"/>
         <DeployFile LocalName="D:\dev\Delphi\EXE\Win32\Debug\MyConsole.exe" Configuration="Debug" Class="ProjectOutput">
         ...
      </Deployment>
      ...
   </BorlandProject>
   ...
</ProjectExtensions>
Den ersten Pfad gibt nicht. Das Verzeichnis gab es mal auf meinem alten Rechner, der bestimmt schon 2 Jahre nicht mehr im Einsatz ist. Wofür der Eintrag "DeployFile" steht und wo ich Eintrag in der IDE, in den Projektoptionen und/oder den IDE-Optionen, finde und ändern kann habe ich nicht herausgefunden. Unter "Bereitstellung" oder sonst wo gibt es keinen solchen Eintrag. Interessant auch, dass hier noch so alte Einträge wie <BorlandProject> geführt werden.

Also habe ich zuerst versucht den Eintrag komplett aus der DPROJ-Datei zu löschen, ohne Erfolg. Dann habe ich ihn wieder reingenommen und den Pfad geändert, auch ohne Erfolg. Delphi kompiliert weiterhin beharlich in die alten Verzeichnisse. Auch habe ich keinen weiteren Eintrag gefunden, der auf den "alten" Pfad für die DCUs verweist.

Zitat:
Auch ist diese DPROJ nur ein Teil des ganzen Scriptes ... siehe die <IMPORT> am Ende.
Vielen Dank für den Hinweis, das hätte ich glatt übersehen. Aber auch in diesen Import-Dateien bin ich nicht fündig geworden.

Zitat:
Ist das ein upgegradetes Projekt aus alten Delphis?
Das ist gut möglich, oder sogar wahrscheinlich. Ich arbeite seit TurboPascal 5.0 mit Pascal/Delphi.

Zitat:
daher der Vorschlag die DPROJ zu löschen, weil das dann zumindestens richtig/aktuell wird
Ja, das war jetzt meine letzte Option, da ich nicht gefunden habe wo die falschen Einträge stehen. Da besteht aber immer die Gefahr, dass man dann bei den Einstellungen (Bedingungen, Suchpfade, Aliase, Compilier-Optionen, etc.) irgendwas übersieht und sich dann das Projekt nicht mehr komplieren lässt, oder noch schlimmer irgendwas anders compiliert wird und das das Programm nicht mehr so funktioniert wie gewollt. Bei älteren Projekten besteht immer die Gefahr, dass auf einmal beim Ausrichten der Record-Felder oder der Interpretation von Variablen was schiefgeht. Früher war Integer mal 16-Bit, heute ist es 32-Bit. Und Longint wird heute je nach Plattform als 32- oder 64-Bit vom Compiler interpretiert. Über Real48 sprechen wir lieber nicht. Da kann dann schon mal was schiefgehen...

Aber diese Option habe ich jetzt letzendlich gezogen und jetzt scheint es wieder zu funktionieren. Tests ausstehend. Überigens, die neue DPROJ-Datei hat jetzt nur noch 19.055 Bytes.

Vielen Dank für Eure Unterstützung!
Wolfgang
  Mit Zitat antworten Zitat