Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Wozu sind BPL Fies gut?

  Alt 9. Mai 2017, 16:21
Ein Package ist praktich erstmal eine DLL, welche aber zusätzlich "automatisch" seine RTTI und andere globale Dinge shared.

Es ist somit praktisch wie ein "Teil einer EXE/DLL", aber kann einzeln ausgetauscht werden (so lange sich die Schnittstellen nicht ändern), bzw. von mehreren Programmen gemeinsam genutzt werden (wie eine DLL)

Ja, das kann man gut nutzen, um Komponenten in die IDE einzubinden, ohne gleich die ganze IDE neu kompilieren zu müssen.
Und dennoch hat man in der BPL auf alles Zugriff, was die IDE bietet und die IDE kennt auch die BPL (RTTI).
Also gemeinsame Verwendung des selben Speichermanagers, der System-Units und die Units der RTL/VCL/FMX usw. , inkl. deren globaler Variablen.

Bei einer DLL ist dagegen alles getrennt und man hat von der EXE aus nur Zugriff auf die DLL, aber die DLL keinen Zugriff auf die EXE.
Darum kann/darf man da auch keine Objekte durchreichen, da jeder seine eigene "Version" dieser Objekt-Klassen (RTTI, Definitionen, Methoden, ...) besitzt, die grundsätzlich nicht kompatibel sind, und standardmäßig auch einen getrennten Speicher (kein SharedMemory) haben.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat