Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Abfrage ob Pogramm geschlossen werden soll. (https://www.delphipraxis.net/122871-abfrage-ob-pogramm-geschlossen-werden-soll.html)

Sudrow 23. Okt 2008 14:31


Abfrage ob Pogramm geschlossen werden soll.
 
Hallo Leute, ich bin gerade leicht am verzweifeln.
Ich wollte bei meinem Programm eine Abfrage machen, wenn man das Programm schließen will, ob man sich sicher ist oder nicht.
Wenn man es nicht will sol ldas Programm nicht zugehen, ansonsten schon.

Ich habs mit dem Quellcode probiert
Delphi-Quellcode:
if MessageDlg('Programm schließen?', mtConfirmation, [mbyes, mbno], 0) = mrYes then
  close
Aber das will irgendwie nicht so ganz.

Wenn ich auf Nein klicke schließt sich das Programm, bei Ja kommt der Dialog erneut und so weiter.
Hoffe mir kann jemand helfen.

mfg Sudrow

HenKst 23. Okt 2008 14:34

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Diese Codezeile seht vermutlich im CloseQuerry?(wenn nicht sollte sie da hin :) )

Wenn du im CloseQuerry close aufrufst, kommst du da ja wieder an^^.

Du musst den var parameter "Canclose" vom querry auf true/false setzen

true wenns geschlossen werden soll, false wenn nicht.

Wenn du momentam bei deinem Dialog "nein" klickst schliesst sich dein Programm weil CanClose default mässig true ist.

Progman 23. Okt 2008 14:35

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Wo rufst du denn den MessageDlg auf? Nicht etwa in FormClose? ;)

Sudrow 23. Okt 2008 14:36

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Zitat:

Zitat von HenKst
Diese Codezeile seht vermutlich im CloseQuerry?

Wenn du im CloseQuerry close aufrufst, kommst du da ja wieder an^^.

Du musst den var parameter "Canclose" vom querry auf true/false setzen

true wenns geschlossen werden soll, false wenn nicht.

Leider wohl doch da aufgerufen xD

Delphi-Quellcode:
procedure THaupt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg('Programm schließen?', mtConfirmation, [mbyes, mbno], 0) = mrYes then
  close
end;
Nur wie setz ich das CanClose auf false, also wie ist der Befehl dafür?

Danke schonmal für die Antwort.

SirThornberry 23. Okt 2008 14:37

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Auch im FormClose hat so ein Dialog eine Chance zu funktionieren wenn man den Parameter Action manipuliert.
@Sudrow: Schau am besten mal in die Hilfe zu den Ereignissen OnClose und OnCloseQuery. Da werden sicher auch die Parameter erklärt.

HenKst 23. Okt 2008 14:38

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Das ist ja nicht OnCloseQuery sondern OnClose^^

Schau dir mal TForm.OnCloseQuery an

€dit
hab mal selber in die hilfe geschaut^^

wenn du im OnClose Action auf caFree setzt, wird dein form auch geclosed.

DeddyH 23. Okt 2008 14:39

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Zusammengefasst:
Delphi-Quellcode:
procedure TFormWuppdi.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   CanClose := MessageDlg('Programm schließen?', mtConfirmation, [mbyes, mbno], 0) = mrYes;
end;

SirThornberry 23. Okt 2008 14:40

Re: Abfrage ob Pogramm geschlossen werden soll.
 
oder eben:
Delphi-Quellcode:
procedure THaupt.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if (MessageDlg('Programm schließen?', mtConfirmation, [mbyes, mbno], 0) <> mrYes) then
     Action := caNone;
end;

Progman 23. Okt 2008 14:41

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Versuchs mal im CloseQuery:

Delphi-Quellcode:
if MessageDlg('Programm schließen?', mtConfirmation, [mbyes, mbno], 0) = mrYes then
 CanClose := True else CanClose := False;

Sudrow 23. Okt 2008 14:45

Re: Abfrage ob Pogramm geschlossen werden soll.
 
Wo Danke für die vielen und schnellen Antworten.
Ich hab mir jetzt eine der vielen rausgesucht und sie funktioniert.

Dankeschön ;)
Schönen Tag noch.
MFG Sudrow


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:38 Uhr.
Seite 1 von 3  1 23      

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