Wenn die Mainform "first form ist" dann solltest du nur hier die messagen behandeln
andernfalls hängt die Anwendung in den anderen Form's bei GetMessage.
Ausblenden.. bzw entfernen in Form1 und Form2
Delphi-Quellcode:
while GetMessage(msg, 0, 0, 0) do
begin
if IsDialogMessage(hTest1Wnd, msg) = FALSE then
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
end;
Frage mich auch warum du einen zugriff auf die Hauptform überhaupt zuläßt
Schalte diese doch auf enabled = False wenn du schon modale Forms öffen willst.
Auch darf dann in Form1 und Form2 ein
Delphi-Quellcode:
WM_DESTROY:
begin;
PostQuitMessage(0);
end;
nicht behandelt werden da du dann die gesamte Anwendung dadurch beendest.
Ein
Delphi-Quellcode:
WM_CLOSE:
begin
DestroyWindow(hWnd);
end;
sollte ausreichen um das Fenster korrekt zu beenden.
gruss