Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Windows beendet Programm nicht

  Alt 6. Aug 2005, 13:59
Nur 'n paar Gedanken...

1. Schießt du dir bei <HIER> nicht selbst in den Hintern? Du bist doch schon im Close weil CloseQuery aufgerufen wurde.

Zitat von Matze:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if AskForClose and (not MinimizeAtClose) then
  begin
    if Application.MessageBox('Programm beenden?', 'Hinweis', MB_YESNO) = IDYes then
    begin
      AskForClose := false;
      MinimizeAtClose := false;
      CanClose := true;
      Application.MainForm.Close; // <--- HIER
    end else
      CanClose := false;
  end;
end;
2. Reagiere nicht auf WM_QUERYENDSESSION sondern auf WM_ENDSESSION mit wParam<>0 -> Application.MainForm.Close oder Application.Terminate

3. Wenn das nichts hilft würde ich mir in WndProc einen Logger packen, der alle Fenstermeldungen mitschreibt. Dann weißt du mal, was so ein Windows Shutdown überhaupt an Meldungen verursacht.

Ansonsten wüsste ich nicht, was den Shutdown aufhalten sollte. Was klappt denn nicht, kommt die Rückfragebox?
Volker
  Mit Zitat antworten Zitat