Wenn sich das nicht geändert hat, als ich mich das letzte Mal damit befasst habe, dann kann eine Delphi-
DLL keine Klassen exportieren. Wenn du es trotzdem machen willst, hast du im wesentlichen zwei Möglichkeiten:
1.
COM (ist kompliziert aber funktioniert auf jeden Fall
2. Wenn sowohl
DLL als auch aufrufendes Programm mit Delphi gemacht sind, kannst du in der
DLL eine Funktion exportieren, die einen Zeiger auf eine Instanz der im Programm bekannten Basisklasse zurückliefert, intern aber eine abgeleitete Version verwendet.
Das heißt, "offiziell" exportiert in deinem Beispiel die
DLL eine Funktion, die einen Zeiger auf TMainClass zurückliefert, die Funktion selbst instanziiert aber eine von TMainClass abgeleitete Klasse.
Weiß nicht ob's so geht aber müsste eigentlich ;c)