Du musst alles in Interfaces und einfache Typen verpacken, was die
DLL machen könne
soll, z.B. ein Interface IFrontendGui oder so. Direkte Zugriffe auf Objekte sind nicht erlaubt.
Hintergrund ist, dass die
DLL einen eigenen Speichermanager hat. Das macht sonst Probleme.
Außerdem funktioniert es zwar mit genau der gleichen Delphiversion unter Umständen, aber mit anderen Sprachen oder anderen Delphiversionen dann gar nicht mehr.