Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Endlosschleife im OnClose verhindern.. (https://www.delphipraxis.net/16048-endlosschleife-im-onclose-verhindern.html)

PhöniX 9. Feb 2004 15:19


Endlosschleife im OnClose verhindern..
 
Hi,
ich hab irgendwo im OnClose von einer Form eine MessageBox, die Close abfängt und dann die Anweisung:
Delphi-Quellcode:
close;
Aber das führt zu einer Endlossschleife, denn wenn geschlossen wird, wird abgefangen und geschlossen und dann ist ja wieder OnClose aktiv und es fängt wieder von vorne an.
Wie kann man dsa verhindern?

Christian Seehase 9. Feb 2004 15:21

Re: Endlosschleife im OnClose verhindern..
 
Moin Phönix,

schau Dir mal das Event OnCloseQuery an.

SirThornberry 9. Feb 2004 15:24

Re: Endlosschleife im OnClose verhindern..
 
Delphi-Quellcode:
procedure TMyForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  messagebox(....
end;
wo liegt jetzt das problem?? beim schließen wird einfach die message angezeigt und danach wird geschlossen.
Nach der Messagebox kannst du ja auch noch nen speicherdialog machen nach dem dann eben geschlossen wird

PhöniX 9. Feb 2004 15:33

Re: Endlosschleife im OnClose verhindern..
 
Zitat:

Zitat von Christian Seehase
Moin Phönix,

schau Dir mal das Event OnCloseQuery an.

:wiejetzt:
Oh cool da is nen OnCloseQuery Event...und weiter?? :gruebel:

Christian Seehase 9. Feb 2004 15:37

Re: Endlosschleife im OnClose verhindern..
 
Moin Phönix,

ich habe vermutet, dass man mit Hilfe der MessageBox entscheiden kann, ob denn nun geschlossen werden soll oder nicht, und für diese Prüfung ist halt das OnCloseQuery gedacht.
Ansonsten kannst Du Dir ein weiteres Close sparen.

Matze 9. Feb 2004 15:39

Re: Endlosschleife im OnClose verhindern..
 
Im OnCloseQuerry kannst du CanClose auf false stellen, dann wird die Form nicht geschlossen.

Sharky 9. Feb 2004 15:40

Re: Endlosschleife im OnClose verhindern..
 
[quote="PhöniX"...und weiter?? [/quote]

Was hälst Du denn davon einmal im OI das Event OnCloseQuery auszuwählen und dann die Geheimtaste F1 zu drücken?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz