Das Problem an dlls ist das sie nicht objektorientiert arbeiten. D.h auf Formulare, welche in dlls wingelagert sind kann man nicht wie gewohnt zugreifen.
Entweder man verwendet statt einer
Dll eine
Bpl, was eine um (Delphí)
OOP erweiterte Version einer
Dll ist ( funktioniert dann nur in Delphi /C-Builder) oder man erzeugt eine zu c kompatible Kapselung der Methoden und getter setter.