Hallo,
ist es möglich Typblibliotheken geteilt bei dlls geteilt zu nutzen?
Folgendes Problem:
Ich habe eine Hauptanwendung in die man Zusatzmodule in dll-Form einladen kann. Diese Plugins nutzen gemeinsame Typ-Bibliotheken. Zum einen meine eigenen Typbibliotheken, zum anderen gehts ja schon bei der unit forms los.
Soweit so gut. Allerdings erzeugt sowohl das Hauptprogramm als auch die DLL jeweils eine eigene Addressierungstabelle für alle Methoden, Klassen, Objekte.
Das ist ja an und für sich schon problematisch genug, da Module die mit verschiedenen Version kompiliert wurden, unterschiedlich reagieren können. Das habe ich aber durch eine interne Überprüfung abgefangen.
Das Hauptproblem liegt wo anders. Wenn ich nun Objekte sowohl in Plugin und Hauptanwendung nutze, kann ich keine Typen vergleichen
Im Plugin:
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure CreateMainForm(Owner: TComponent); begin Reference := TForm.Create(AOwner) end; |
Jetzt im Hauptprogramm: Hier hol ich mir aus dem Plugin das Hauptformular, also das gerade erzeugte Formular
Delphi-Quelltext
1: 2: 3: 4: 5:
| procedure TestVariable(Plugin: TPlugin); begin Variable := Plugin.GetMainForm; end; |
Gibt es da einen geschickten Weg, diese Probleme zu umgehen? ( Ohne ShareMem von Borland

)