Einzelnen Beitrag anzeigen

Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#21

Re: Auf Abmelden/Herunterfahren in onClose reagieren

  Alt 28. Okt 2009, 16:57
Folgendes solltest du doch jetzt lösen können:

Wenn du wie in meinem Beispielprojekt deinem MainForm eine WMQueryEndSession verpasst kannst du bei WM_QUERYENDSESSION ja zuerst eine Boolsche Variable setzen. Der Trick ist erst die Variable setzten und dann erst inherited auf zu rufen
Delphi-Quellcode:
procedure TMainForm.WMQueryEndSession(var Message: TMessage);
begin
  FWmQueryEndsession := TRUE;
  inherited;
end;
Wenn du jetzt in deine CloseQuery kommst dort einfach nur abfragen ob die Var gesetzt ist. Wenn ja, dann kommt der Aufruf zum schließen wohl nicht vom Anwender per [X]-Knopf sondern vom System wegen Abmelden / Runterfahren.

Denn du willst es ja glaube ich genau so, oder? ->
Zitat von The_Unknown:
Ich möchte, wenn ich das MainForm schließe, dass eine Nachricht kommt "Achtung: Das Programm ist immernoch geöffnet, nur dass es jetzt neben der Systemuhr ist..." (die Nachricht kommt natürlich nur 1x und dann nie wieder). Wenn nun allerdings der User herunterfährt und das Hauptfenster ist noch offen und die Meldung wurde noch nie angezeigt, dann kommt die Meldung beim Herunterfahren, was etwas unglücklich ist.
Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat