Thema: Delphi MDIChild aus DLL nutzen

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#6

Re: MDIChild aus DLL nutzen

  Alt 13. Apr 2006, 13:24
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
  Mit Zitat antworten Zitat