wie bekomme ich raus ob eine Form angezeigt wird oder geschlossen ist ?
-
ich mache z.B. ein
Form1->Close();wenn diese form aber schon zu ist kachelt es ganz Laut ...Zugriffsverletzung.
ich kann das zwar so machen:
try { Form1->Close(); } catch(...) { ShowMessage("Die Form war schon zu ;-)"); }aber ich würde lieber vorher schauen ob sie auf ist.
Wie frage ich das ab?
-
if (Form->Showing)
......
-
Wenn Du Form1->Close aufrufst, ao wird auch das TForm-Objekt zerstört, auf das Form1 zeigt.
Es sei denn, in der OnClose Methode wird Action auf caHide gesetzt, dann wird sie lediglich "versteckt".
Wenn Du deine Form also schliessen und anschließend nicht mehr erneut benutzen willst, kannst du schreiben;
Form1->Close(); Form1=0;Dann kannst du auch prüfen, ob die Form bereits "zerstört" ist:
if (Form1) { Form1->Close(); Form1=0; }
-
Burkhi schrieb:
Wenn Du Form1->Close aufrufst, ao wird auch das TForm-Objekt zerstört, auf das Form1 zeigt.
Wie kommst du denn darauf?
Das Objekt wird natürlich nicht beim Close()n zerstört! Du kannst damit jederzeit normal weiter arbeiten!
-
Bei
Form->Close();und einem Weiteren
Form->Close();(bei geschlossener Form)
kommt bei mir auch keine Zugriffsverletzung
