Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#4

AW: DPROJ und DPR getrennt

  Alt 24. Okt 2024, 12:04
Ich haben häufig mehrere .dproj-Dateien, die auf dieselbe .dpr-Datei verweisen. Bei mir geht es aber darum, dieselbe .dpr mit verschiedenen Delphi-Versionen zu verwenden. Das funktioniert wunderbar auch mit der IDE. Allerdings liegt die .dpr-Datei bei mir im gleichen Verzeichnis.
Das ist eine gute Nachricht.

Allerdings lege ich immer mehrere Unterverzeichnisse für die dpr und dproj an, weil es eben mit den beiden Files nicht getan ist.
Ich separiere alle Versionen und sonstigen Varianten hart in eigene Verzeichnisse, und das funktioniert super.

Delphi-Quellcode:
Project/Packages/Delphi12
Project/Packages/Delphi12.1
Project/Packages/Delphi12.1_DemoVariante
Project/Packages/Delphi12.2
Project/Src // Gemeinsame Source für alle Varianten
In den Verzeichnissen sind dann ALLE relevanten Files, die spezifisch für die Variante notwendig sind.
als da wären
Delphi-Quellcode:
.dpr
.dproj
AndroidManifest.template.xml
Entitlement.TemplateiOS.xml
info.plist.TemplateiOS.xml
...
Mögliche System-Fixes für System-Module
...
Delphi-Quellcode:
FMX.ListView.pas
FMX.Maps.pas
FMX.MediaLibrary.Android.pas // Erweitert um define
...
Es könnten aber auch viele andere, spezifische Files hier pro Projekt entkoppelt werden (.txt, .rc, .json, .xml, ...).

Die OS-spezifischen Fixes dann mit {$IF DEFINED( ANDROID ) } erweitert, so dass dies nur unter Android relevant wird, ansonsten nur eine leere Unit ist.
Das hat den Vorteil, dass die .dproj immer alle System-Fixes enthalten kann, für alle OS, und dass nicht verschiedene Versionen der .dproj benötigt und gepflegt werden müssen.
Ok, dabei werden dann leere Units compiliert, aber das kann ich verschmerzen, die Vorteile sind viel größer.

Mit dieser Struktur kann ich sehr sauber alle Varianten trennen und möglichst separate komplette Kontrolle über die Settings zu haben.
  Mit Zitat antworten Zitat