Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Benutzen von Klassen aus einer DLL

  Alt 14. Sep 2010, 07:51
"virtual" definiert ja nur Referenzen (eine Index-Nummer) auf die Funktionen der Klasse, über die VMT.

Jedes Modul (EXE/DLL) hat seine eigene RTTI.

Nun läßt Delphi gerne Ungenutztes weg. (Optimierung)


Wenn man nun also eine Funktion in der DLL/EXE nutzt, aber im Anderen nicht,

dann enthalten beide RTTIs unterschiedliche VMTs, welches sehr schöne Effekte ergibt, da so falsche Funktionen aufgerufen werden, wenn man über Modulgrenzen hinweg mit Objekten arbeitet.
Ich kann davon ein Lied singen.
Das war der Grund, warum es die DLL-Version meines himXML nicht mehr gibt, also die alte Version mit den Objekten. (die neue Interface-Version wird hoffentlich bald erscheinen)

Fazit, es ist nicht ratsam Objekte über Modulgrenzen hinweg zu nutzen,
außer bei Verwendung von Laufzeit-Packages.

PS: Hast du auch an den Shared-MemoryManager gedacht?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat