Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mehrere Fenster schließen (https://www.delphipraxis.net/167538-mehrere-fenster-schliessen.html)

loirad 4. Apr 2012 15:31


Mehrere Fenster schließen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo liebe Community,

ich habe ein Programm mit mehreren Formularen. Um das Programm komplett zu schließen schreibe ich bei allen Formularen im OnClose die anderen Formulare.Close mit rein. Das Problem ist, dass eine Fehlermeldung (siehe Bild) kommt - ich denke es liegt daran, dass die Fenster noch nicht erzeugt/angezeigt wurden. Wie kann ich das umgehen?

Liebe Grüße
loirad

DeddyH 4. Apr 2012 15:33

AW: Mehrere Fenster schließen
 
Würde nicht ein Application.MainForm.Close genügen?

loirad 4. Apr 2012 15:35

AW: Mehrere Fenster schließen
 
Ja, vielen Dank :thumb: - hätte man auch selbst drauf kommen können :oops:!

loirad 4. Apr 2012 16:33

AW: Mehrere Fenster schließen
 
Geht doch nicht so - die Fehlermeldung kommt trotzdem! Hat jemand ne andere Möglichkeit?

shmia 4. Apr 2012 16:46

AW: Mehrere Fenster schließen
 
Zitat:

Zitat von loirad (Beitrag 1160205)
die Fehlermeldung kommt trotzdem!

Du hast unsauber programmiert; z.B. du greifst auf ein Formular zu, dass aber schon freigegeben wurde.
Hier muss man den integrierten Debugger benützen um den Bug zu finden.

Delphi-Laie 4. Apr 2012 16:58

AW: Mehrere Fenster schließen
 
Zitat:

Zitat von loirad (Beitrag 1160205)
Geht doch nicht so - die Fehlermeldung kommt trotzdem! Hat jemand ne andere Möglichkeit?

Naja, wenn irgendein Fenster geschlossen wird, dann wird eben das genannte Application.MainForm.Close aufgerufen. Das wiederum läßt alle Fenster schließen. Jedes geschlossene Fenster ruft jedoch wiederum Application.MainForm.Close auf. Das ist zirkulär, und ob das intern abgefangen wird, ist mir unbekannt. Falls nein, könnte das eine Problemursache sein.

loirad 4. Apr 2012 17:01

AW: Mehrere Fenster schließen
 
Fehler gefunden (wie shima schon vermutete)! Habe im OnClose nochmal geschlossen -> Endlosschleife (wie Delphi-Laie sagte)! Vielen Dank an Alle :thumb:!


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 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