der richtige Weg sind Packages, ohne Frage.
Es geht aber auch mit DLLs. Dazu wird in der
DLL ein ganz normales TForm eingelinkt. Wenn dieses TForm nun als
MDI in die Hauptanwendung eingeblendet werden soll so erzeugt die Hauptanwendung erstmal ein neues und leeres TForm als fsMDIChild. Dieses wird einer Funktion der
DLL als Parameter übergeben und darin erzeugt die
DLL ihr eigenes TForm. Dessen Properties werden ein gestellt aus .Align := alClient; .IsControl := True; .Parent := MDIForm; .BorderStyle := bsNone; Man bettet also das
DLL Form in das MDIForm der Anwendung quasi als Control, wie ein TPanel, ein.
Aber Vorsicht! das ist eben nicht ganz sauber und du musst zb. SharedMM benutzen in deiner
DLL und Hauptanwendung.
Dieser Tipp ist rein akademischer Natur! Du kannst als damit rumexperimentieren aber für Produktivcode kann ich nur Packages empfehlen.
Gruß Hagen