AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Konfiguration von Packages (Designtime & Runtime)
Thema durchsuchen
Ansicht
Themen-Optionen

Konfiguration von Packages (Designtime & Runtime)

Ein Thema von Sisko · begonnen am 12. Mai 2023 · letzter Beitrag vom 12. Mai 2023
Antwort Antwort
Sisko

Registriert seit: 24. Jul 2008
Ort: Sevelen (Schweiz)
10 Beiträge
 
Delphi 11 Alexandria
 
#1

Konfiguration von Packages (Designtime & Runtime)

  Alt 12. Mai 2023, 11:34
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!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konfiguration von Packages (Designtime & Runtime)

  Alt 12. Mai 2023, 11:57
Ist natürlich alles Geschmackssache, aber Ansatz 2 halte ich für fraglich.

Bei Ansatz 1 würde ich standardmäßig die BPL im CommonDir ablegen und nur für die Auslieferung (Setup) die Runtime BPL beilegen. Damit bleibt auf dem Entwicklersystem nur eine BPL und es gibt keine Komplikationen, wenn diese in der IDE neu kompiliert wird und dafür die Design-BPL ja entladen werden muss.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konfiguration von Packages (Designtime & Runtime)

  Alt 12. Mai 2023, 13:16
DesignTimePackages (welche in der IDE registriert werden) müssen nicht in $(BDSCOMMONDIR) liegen.

Design und Runtime kann also im "selben" eigenen Verzeichnis liegen (bei Rausgabe der Anwendung könnte man das DesignPackage ignorieren / nicht mitgeben)



ABER, lädt ein Package ein Anderes (require), dann muß dieses Andere in einem Suchpfad stehen. (weil Requires steht als IMPORTS in der PE und Windows sucht nur im FileDir+WorkDir+DLLSearchPath+PATH ... leider registriert Delphi die Verzeichnisse der registrierten Packages, welche nicht in PATH stehen, nicht als DLL-Suchpfad im Windows )
PS: Es muß nicht das globale PATH sein ... kann es auch in der IDE das PATH mit C:\Eigenes;%PATH% überschreiben. (%PATH% nicht $(PATH), weil kann sich zur Laufzeit nicht mit sich selber ergänzen)

Tools > Optionen > IDE > Umgebungsvariablen
bzw. HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\22.0\Environment Variables\
$2B or not $2B

Geändert von himitsu (12. Mai 2023 um 13:21 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 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