Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Prüfen ob eine Form schon vorhanden ist
Niko S. - Mo 19.01.09 18:26
Titel: Prüfen ob eine Form schon vorhanden ist
Also ich möchte bei einer MDI anwendung meine Forms nicht sofort angezeigt bekommen und wenns nötig ist auch wieder zerstören. Nur wie Prüfe ich ob die Form bzw diese Variable schon gesetzt/vorhanden ist ?
Bevor ich
Delphi-Quelltext
1:
| Application.CreateForm(TForm2, Form2); |
mache ist die Variable oder Class nicht gesetzt...
Ich kann ja durch den befehl beliebig viele Fenster erschaffen die wie Form2 sind aber ich möchte dass es nur 1 mal ist und nicht beliebig viele, da ich nicht alle ansteuern kann wen nich die zur laufzeit erschaffe.
JayEff - Mo 19.01.09 18:46
Hierzu empfiehlt sich, die Variable (die Delphi-Intern ja ein Pointer ist!) auf nil zu prüfen, oder (sauberer&lesbarer):
Delphi-Quelltext
1: 2: 3: 4:
| if Assigned (aFormVariable) then else |
jasocul - Di 20.01.09 08:50
Dann muss man beim Zerstören der Form aber sicherstellen, dass die Variable auch wieder nil gesetzt wird. Sonst passiert beim zweiten Versuch die Form zu erzeugen nichts.
Gausi - Di 20.01.09 08:54
...was sich ja einfach machen lässt, wenn man nicht MyForm.Free sondern FreeAndNil(MyForm) benutzt. :D
jasocul - Di 20.01.09 08:58
Nun verrate doch nicht gleich alles. :P
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!