AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Programm beenden" abbrechen

Ein Thema von Opa Knack · begonnen am 17. Feb 2005 · letzter Beitrag vom 17. Feb 2005
Antwort Antwort
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#1

"Programm beenden" abbrechen

  Alt 17. Feb 2005, 10:03
Hallo,

sicherlich mal wieder eine überflüssige Frage, aber ich komme damit einfach nicht weiter und konnte bislang auch noch nichts dazu finden:

Ich möchte beim Programmende die Variable CoreStatus abfragen, die vorher mit einem Status belegt wurde. Ist diese Variable leer, soll das Programm beenden, ansonsten soll ein Dialog angezeigt werden, der darauf hinweist, dass Daten noch nicht gespeichert wurden.

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var ButtonSelected: Integer;
begin

  if CoreStatus <> 'then
  begin

    ButtonSelected := MessageDlg('Data not saved. Really quit?',mtConfirmation, mbOKCancel, 0);

    if ButtonSelected = mrCancel then PageControl1.ActivePage := Z_DataEntry;

  end;

end;
Ich würde es verstehen, aber Delphi anscheinend nicht

Kann mir jemand einen Tipp geben, wo der Denkfehler liegt?

Danke
Opa
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#2

Re: "Programm beenden" abbrechen

  Alt 17. Feb 2005, 10:08
Schau dir mal im Objekt-Inspektor und in der Hilfe das Ereignis OnCloseQuery an. Das könnte dir vielleicht weiterhelfen.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#3

Re: "Programm beenden" abbrechen

  Alt 17. Feb 2005, 10:24
Hallo,

Danke für den Tipp. Ich habe jetzt einen OnCloseQuery-Event erstellt, der wie folgt lautet:

Delphi-Quellcode:
  if CoreStatus <> 'then
  begin

    if MessageDlg('Close the form?', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel then
     CanClose := False;

  end;
(Ist mehr oder weniger der Hilfe entnommen)

Trotzdem klappt es leider nicht. Der Ansatz ist zwar (soweit ich das sehen kann) logisch und schlüssig, aber irgendwo habe ich immer noch einen Denkfehler.

Jemand eine Idee, wo dieser liegen könnte?

Danke
Opa
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#4

Re: "Programm beenden" abbrechen

  Alt 17. Feb 2005, 11:24
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
  MsgResult: Integer;
begin

  CanClose := True;

  if CoreStatus <> 'then
  begin

    MsgResult := MessageDlg('Daten speichern?', mtConfirmation, mbYesNoCancel, 0);

    case MsgResult of

      mrYes:
        begin
          ShowMessage('Daten werden gespeichert... Programm wird beendet.');
        end;

      mrNo:
        begin
          ShowMessage('Daten werden nicht gespeichert... Programm wird beendet.');
        end;

      mrCancel:
        begin
          ShowMessage('Programm wird fortgesetzt.');
          CanClose := False;
        end;

    end;

  end;

end;
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#5

Re: "Programm beenden" abbrechen

  Alt 17. Feb 2005, 12:19
Hallo,

Danke für den Tipp - so funktionierts...

Gruß
Opa
  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:02 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