DLL Funktionen können zwar Objekte übergeben und empfagen, aber die Klassen müssen
auf beiden Seiten bekannt sein. Sie sind dann nur eingeschränkt ausserhalb des Moduls nutzbar,
weil die sogenanten
RTTI im andere Modul nicht die selben sind.
RTTI sind für alle von TPersistent
erbenden Objekte wichtig.
Der "IS" Operator arbeitet mit den
RTTI , vor allem in Tpersistent.assign(bla:TPersistent) wird er benutzt.
Wenn du aber ganz neue Klassen baust , also von TObject erbst, dann lohnt es sich alle zugriffe in Interfaces
zu definieren. Besser also von TInterfacedObject erben und eigene Interfaces implementieren.
Ansonsten must du wohl mit BPLs arbeiten.