Aber dann wird ja wieder OnCloseQuery aufgerufen oder änderst du irgend wo den Wert von CloseForm?
Und warum ist CloseForm als Integer deklriert? Deklarier es als Boolen:
Delphi-Quellcode:
CanClose := CloseForm;
if not CanClose then
hide;
Und in WM_QUERRYENDSESSION:
Delphi-Quellcode:
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
Msg.Result := 1;
CloseForm := True;
Close; // Wird das noch gebraucht? Ich weiß es nicht.
end;