Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#2

AW: [nonVCL] Endlosschleife mit 2 Fenstern

  Alt 17. Jan 2013, 12:33
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

Geändert von EWeiss (17. Jan 2013 um 12:41 Uhr)
  Mit Zitat antworten Zitat