Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Win7: Problem mit Speichern von Daten in OnClose

  Alt 5. Mär 2010, 20:01
Hallo,

ich verwende folgenden Code um mitzubekommen ob Windows runter gefahren wird, um dann noch Dateien zu speichern:

Delphi-Quellcode:
{ ... }
  private
    { Private-Deklarationen }
    Windows_Session_End : Boolean;

    procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QueryEndSession;
  public
    { Public-Deklarationen }
  end;
{ ... }

procedure TMainForm.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
  //Windows erlauben zu beenden
  Msg.Result := 1;

  //Wenn Windows beendet wird, dann Variable auf true setzen
  Windows_Session_End := true;

  inherited;
end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //Verbindung beenden

  //Inidatei schreiben

  //ListViews in "Monitor.xml" speichern
end;

procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  //Beenden erlauben/verweigern
  CanClose := Windows_Session_End or
              (MessageDlg(Msg1, mtConfirmation, [mbYes, mbNo], 0) = mrYes);
end;
Also beim Schliessen werden im OnClose noch Dateien (Ini-Dateien, XML-Dateien) gespeichert.
Bei XP hat dies fehlerfrei funktioniert. Bei Win7 scheint es so, als würde mir Win7 den Boden unter den Füßen wegziehen und ich komm gar nicht mehr zum speichern. Jedenfalls hab ich keine gespeicherten Dateien.

Muss man für Win7 etwas spezielles beachten?
(Oder ich hab schon von vorn herein einen Fehler drin, der bei WinXP nicht auffiel)
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat