AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Trotz Bestätigung Programm mit Windows beenden
Thema durchsuchen
Ansicht
Themen-Optionen

Trotz Bestätigung Programm mit Windows beenden

Offene Frage von "Svenkan"
Ein Thema von Svenkan · begonnen am 14. Feb 2008 · letzter Beitrag vom 14. Feb 2008
Antwort Antwort
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#1

Trotz Bestätigung Programm mit Windows beenden

  Alt 14. Feb 2008, 09:08
Hallo!
Bevor mein Programm beendet werden kann, muss dies durch eine Bestätigung 'vollendet' werden.

Delphi-Quellcode:
procedure THauptform.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
 if MessageDlg('Wollen Sie VPlan Plus wirklich beenden?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
   CanClose:=True
 else
   CanClose:=False;
end;
Wenn nun Windows beendet wird, während das Programm noch läuft, funktioniert dies auf Grund einer Warnmeldung nicht.

Wie ist es möglich, dass bei einem Shutdown CanClose auf True gesetzt wird?
Oder gibt es da noch bessere Möglichkeiten hinsichtlich des Beendens?
Sven Kannenberg
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Trotz Bestätigung Programm mit Windows beenden

  Alt 14. Feb 2008, 09:11
Warum benutzt du denn CanClose?

Wenn der Nutzer Ja klickt, soll sich das Programm doch direkt beenden. Schreib doch gleich ein Form.Close (oder so was).
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Trotz Bestätigung Programm mit Windows beenden

  Alt 14. Feb 2008, 09:12
wenn windows heruntergefahren wird gibt es die Nachricht wm_queryendsession. Einfach darauf reagieren und in einer variablen vermerken das heruntergefahren wird:
Delphi-Quellcode:
procedure THauptform.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  if (fShutting_down or (MessageDlg('Wollen Sie VPlan Plus wirklich beenden?', mtConfirmation, [mbYes, mbNo], 0) = mrYes)) then
     CanClose:=True
  else
    CanClose:=False;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Trotz Bestätigung Programm mit Windows beenden

  Alt 14. Feb 2008, 09:12
Behandele die Nachtricht Hier im Forum suchenWM_QUERYENDSESSION.

@Svenkan: Weil das Ereifnis FormCloseQuery genau dafpür gedacht ist. Schreibst du das in OnClose, kannst du den Vorgang nicht mehr abbrechen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz