Für eine Komponente haben wir ein Runtimepackage (RTP) das auch zum kompilieren/linken verwendet wird.
Es wird auch ausgeliefert und als
BPL-Ausgabeordner ist daher das Applikationsausgabeverzeichnis angegeben, nicht '$(BDSCOMMONDIR)'!!
Das zur Komponente gehörige Designtimepackage (DTP) wird im üblichen Ordner '$(BDSCOMMONDIR)\
bpl' abgelegt.
Fall A:
Da das Designtimepackage das Runtimepackage benötigt, müsste dieses über die PATH-Variable zu finden sein, was natürlich nicht der Fall ist.
Daher wird das RTP (
Win32) über ein Build-Event zusätzlich nach '$(BDSCOMMONDIR)\
bpl' kopiert. (Das Verzeichnis ist Bestandteil des Suchpfads)
D.h. die
IDE verwendet DTP & RTP aus '$(BDSCOMMONDIR)\
bpl' die Anwendung jedoch das RTP aus seinem eigenen Applikationsordner.
Fall B:
Als alternative konfigurieren wir das DTP so, dass es das RTP nicht benötigt und dafür selbst auch alle notwendigen Quelldateien referenziert.
So haben wir zwei Packages welche dieselben Units enthalten.
Aufgrund eines "Conditional Defines" im DTP-Projekt implementieren die Units einzelne Blöcke anders als das RTP, daher haben wir das
DCU-Ausgabeverzeichnis der beiden Projekte unterschiedlich gesetzt.
Nach dieser langen Erklärung nun meine Fragen:
1. Ist das Duplizieren der RTP (Fall A) zulässig, oder können sich dadurch (z.B. beim Debuggen) Probleme ergeben?
2. Wie verhält es sich mit Units die sowohl im DTP als auch im RTP vorkommen (Fall B), ist das zulässig?
3. Wie lautet eure Empfehlung für den Umgang mit RTP und DTP Packages?
Die Anwendung verwendet RTPs!