Das heißt du erstellst in der
DLL eine Form-Instanz und gibst diese dann an die EXE weiter?
Sowas macht man nicht,
denn EXE und
DLL haben (standardmäßig) nicht nur unabhängige Speichermanager (abgesehn von ShareMem und Co.), sondern auch, und vorallem das, getrennte/eigenständige RTTIs.
Die andere Variante wären Laufzeitpackages, bei welchen auch die
RTTI mit gemeinsam verwendet wird.
Du kannst ein Interface in der
DLL bereitstellen, welches für die Kontrolle der Form zuständig ist, aber Objekte sollten tunlichst nicht die
DLL/EXE-Grenze überschreiten.
Und auch sowas wie Strings (ausgeschlossen ShortString, WideString, PChar und statische Char-Arrays) sollten ohne Shared Memory nicht diese Grenze überschreiten.