Thema: Delphi Programm beenden

Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

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

Re: Programm beenden

  Alt 15. Sep 2007, 15:46
Hallo,

ich mach das immer so:

Delphi-Quellcode:
private
  Windows_Session_End: Boolean;
Delphi-Quellcode:
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;

  //Programm schliessen
  close;

  inherited;
end;
und im OnCloseQuery der form:
Delphi-Quellcode:
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  If Windows_Session_End or
    (MessageDlg(Msg10, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
    begin
      //Beenden erlauben
      CanClose := true;

    {...}
  else
    //Beenden nicht erlauben
    CanClose := false;
end;
Damit wird gleich beendet, ohne dass die Meldung ob man wirklich beenden will kommt.
(Bei mir werden somit gleich mal alle Sachen gespeichert)
mfg
Helmi

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