Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi falls form noch nicht created? (https://www.delphipraxis.net/40630-falls-form-noch-nicht-created.html)

herrentor 18. Feb 2005 13:02


falls form noch nicht created?
 
hey,

wie lautet der befehl, wenn ich wissen will, ob ein fenster schon erstellt wurde oder nicht, auch wenn es danach wieder geschlossen wurde? oder ob ein button schon gedrückt wurde. ich möchte nämlich einen fehler abfangen:

Delphi-Quellcode:

if ? then

   combobox.Enabled := not ((combobox2.Text <> '') AND (form2.CheckBox1.Checked));
die zeile bewirkt, das die combobox enabled wird, wenn auf form2 ein häckchen drin ist und in combobox2 eine auswahl getroffen wird. da der teil aber im formcreate von form1 steht, stürzt er immer ab wenn ich eine auswahl treffen will.

maximov 18. Feb 2005 13:20

Re: falls form noch nicht created?
 
Delphi-Quellcode:
combobox.Enabled := not ((combobox2.Text <> '') AND assigned(form2) AND form2.CheckBox1.Checked);
Die if-frage kannst du dann weg lassen, da durch das boolean-expression-shortcutting alles nach assigned(form2) ausgelassen wird, sofern form2 nicht assigned ist.

Hoffe ich hab deine frage richtig verstanden.

herrentor 18. Feb 2005 13:25

Re: falls form noch nicht created?
 
cool. danke

alcaeus 18. Feb 2005 13:27

Re: falls form noch nicht created?
 
Zitat:

Zitat von herrentor
die zeile bewirkt, das die combobox enabled wird, wenn auf form2 ein häckchen drin ist und in combobox2 eine auswahl getroffen wird. da der teil aber im formcreate von form1 steht, stürzt er immer ab wenn ich eine auswahl treffen will.

Im FormCreate von Form1 wird Form2 noch NIE erstellt sein, aus einem einfachen Grund: Das Mainform (normalerweise Form1) wird als erstes erstellt, und anschliessend der gesamte Rest. Sobald also Form1.OnCreate ausgeloest wird, gibts Form2 noch gar nicht. Bau den Code ins OnShow von Form1 ein, und sichere ihn mit einer private-Boolean-Variable gegen doppeltes Ausfuehren...

Greetz
alcaeus

herrentor 18. Feb 2005 13:40

Re: falls form noch nicht created?
 
so ging es jetzt auch. mein form2 wird auch nicht beim programmstart erstellt, sondern durch einen klick aufgerufen. trotzdem danke


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