Zitat von
sirius:
Edit: @Ferby: Du warst prinzipiell auf dem richtigen Weg. Nur
VCL und
nonVCL zu mischen ist sehr schwierig und eher nicht zu empfehlen.
Vorallem da die
VCL-Nachrichten-Schleife eigentlich noch viel mehr verarbeitet.
(z.B. wirdst du so probleme bekommen, wenn in deiner Form mal ein Hint angezeigt werden soll, es werden "einige" Dialog-Steuerfunktionen nicht zur verfügung gehen, sowie keine WM_xxx-Nachrichten nach CM_xxx umgesetzt werden, welche aber für viele
VCL-Controls sehr wichtig sind.)
Wenn, dann bastel dir lieber eine Schleife aus der
VCL, statt wie mit deiner Variante:
Delphi-Quellcode:
While not Application.Terminated do
Application.ProcessMessages;
ja und ich glaub man muß hier nicht auf WM_Quit hören, sondern auf WM_CLOSE ... WM_QUIT wird aufgerugen, wenn das Hauptfenster der
VCL geschlossen wird (glaub ich)
Also wentweder du rufst in OnClose/OnDestroy deiner Form
Application.Terminate; auf, oder du sendest dort zumindestens ein WM_QUIT an deine Anwendung.
Ansonsten bin ich mit den Anderen einer Meinung ... wenn schon
VCL, dann mach es richtig und nicht so Halb-Halb.