AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit Abfrage zum beenden ohne speichern
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Abfrage zum beenden ohne speichern

Ein Thema von 5etH · begonnen am 25. Apr 2008 · letzter Beitrag vom 25. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:06
Wie Sharky schon sagt, benutze OnCloseQuery und setze die Variable CanClose entsprechend.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von 5etH
5etH

Registriert seit: 4. Mär 2008
Ort: Giessen
217 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:11
ich habe das nun so gelöst

Delphi-Quellcode:
procedure Tmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     if not (Gespeichert) then
      begin
      if (MessageDlg('Wollen Sie das Programm beenden ohne zu speichern!?'
          ,mtWarning, [mbYes, mbNo], 0, mbYes) = mrNo) then
          action := caNone;
          end;
          //gespeichert := true;
     end;
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:14
Zitat von 5etH:
ich habe das nun so gelöst
Finde ich persönlich nicht den sauberen Weg.

Warum nicht so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  MsgResult : Integer;
begin
  if not (Gespeichert) then
  begin
    MsgResult := MessageDlg('Wollen Sie das Programm beenden ohne zu speichern!?',
     mtWarning, [mbYes, mbNo], 0, mbYes);
    case MsgResult of
      mrYes : CanClose := True;
      mrNo : CanClose := False;
    end;
  end
  else
  begin
    CanClose := True; // Hatte ich im ersten Post vergessen :oops:
  end;
end;
[Edit]: Etwas nachgetragen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#14

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:15
Nimm die Lösung von Sharky, ist besser ^^
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:21
Etwas kürzer, aber mit derselben Logik:
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := true;
  if not (Gespeichert) then
  begin
    CanClose := MessageDlg('Wollen Sie das Programm beenden ohne zu speichern!?',
     mtWarning, [mbYes, mbNo], 0, mbYes) = mrYes;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:25
Zitat von DeddyH:
Etwas kürzer, aber mit derselben Logik:
Hihi,

darauf habe ich ja nur gewartet
Ich habe den Code mit absicht nicht optimiert um den Ablauf genau aufzuzeigen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Problem mit Abfrage zum beenden ohne speichern

  Alt 25. Apr 2008, 09:27
Schadet ja nicht, so kann er sich zwischen beiden Möglichkeiten entscheiden und hat die Logik trotzdem schön nachvollziehbar vor Augen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 17:51 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