Es gab in letzer Zeit mehrere Threads zu diesem Thema (
VCL in einer
DLL),
und man kann grundsätzlich erstmal nur eines sagen:
> die
VCL basiert auf Klassen
> und Klassen kann man nicht über Modulgrenzen (EXE oder
DLL) hinweg kommunizieren lassen, da jedes Modul seine eigene
RTTI besitzt.
dazu kommt dann noch der Speichermanager, wo auch jedes Modul seinen eigenen besitzt.
Mehr dazu (und auch ein paar Lösungen) wurden dort schon mehrfach genannt.
eine Lösung: BPLs (Packages) statt der DLLs
weitere Sachen: Shared Memory (Klassen, Strings, dyn. Arrays werden über den Delphi-Speichermanager verwaltet, weswegen man sie nur schlecht im Verwaltungsbereich eines anderen SpeicherManagers bearbeiten kann)