Hiho,
welches Event wird bei einer TForm durchlaufen, wenn ein laufendes Programm geschlossen wird aufgrund einer Benutzerabmeldung von Windows?
OnClose und OnDestroy werden scheinbar nicht durchlaufen.
Hintergrund ist, dass ich noch ein paar Daten sichern möchte. Bei normalem Schließen der Anwendung ist das kein Problem, da OnDestroy durchlaufen wird.
Viele Grüße
Wolfram
Event für TForm bei Windows-Benutzerabmeldung?
Re: Event für TForm bei Windows-Benutzerabmeldung?
Probier mal
Application.OnEndSession
Application.OnEndSession
Re: Event für TForm bei Windows-Benutzerabmeldung?
Habe aufgrund Deines Hinweises noch einmal gesucht und das gefunden:
http://forum.lazarus.freepascal.org/ind ... l#msg58612
http://forum.lazarus.freepascal.org/ind ... l#msg58612
Re: Event für TForm bei Windows-Benutzerabmeldung?
Lösung ist dann das:
Dabei ist zu beachten, dass OnDestroy vom Form tatsächlich nicht durchlaufen wird und vice versa: Beim normalen Schließen wird OnEndSession von application nicht durchlaufen.
Das ist schon inkonsistent.
Code: Alles auswählen
procedure THauptfenster.FormCreate(Sender: TObject);
begin
application.OnEndSession := @self.ApplicationSessionEnded;
end;
procedure THauptfenster.ApplicationSessionEnded(Sender: TObject);
begin
self.Save;
end;
Das ist schon inkonsistent.