Szenario:
- VCL-Anwendung mit einer Dll.
- Die DLL ist ebenfalls mit Delphi kompiliert und bietet ein Kommando an das ein VCL-Fenster erzeugt und anzeigt.
- Schließt man das DLL-Fenster wird die gesamte Anwendung beendet!
Das
DLL-Fenster wird so erzeugt:
Delphi-Quellcode:
Application.CreateForm(TTestForm, newForm);
newForm.Show();
Erzeugt man das Formular so:
Delphi-Quellcode:
newForm := TTestForm.Create(nil);
newForm.Show();
ist alles in Butter: Schließt man das
DLL-Fenster läuft die Hauptanwendung normal weiter.
Warum ist das so? Frage ich in der Hauptanwendung nach
Application.MainFormHandle
ändert es sich nicht. Das scheint es schon mal nicht zu sein...