Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Form löschen und neu erstellen


Andidreas - So 10.09.06 16:50
Titel: Form löschen und neu erstellen
Ich lasse zur Laufzeit ein Formular erstellen. Dieses soll, wenn das entsprechende Editierfeld geschlossen wird, aus dem Speicher entfernt werden, aber wenn nötig wieder erstellt werden können. Alles was ich probiert hab, führt zu Fehlermeldungen. Wie kann/oder muß ich das anstellen, damit das klappt?


mkinzler - So 10.09.06 16:52

Theoretisch sollte das gehen. Zeig mal deinen Code bei dem es nicht geht.


Andidreas - So 10.09.06 16:57

Erstellen:
Form2 := TForm2.Create(Application);
Form2.Funktionen(ChangeFileExt(DateiScript, '.map'));
Form2.Show;

Löschen:
Form2.Free;


mkinzler - So 10.09.06 17:01

In diesem fall wäre besser

Delphi-Quelltext
1:
if Form2 = Nil then Form2 := TForm2.Create(Nil);                    


und

Delphi-Quelltext
1:
if Form2 <> Nil then Form2.FreeAndNil;                    

zu nehmen.
Was für ein Fehler kommt den?


Andidreas - So 10.09.06 17:16

Fehlermeldung:
user defined image

Form2.FreeAndNil; ist nicht nur

Delphi-Quelltext
1:
FreeAndNil(Form2);                    


Andidreas - So 10.09.06 17:49

:autsch: :autsch: Erlegigt: ich doofe Nuß hab nur einer Variablen den falschen Wert zugewiesen.
Danke für Deine Bemühungen.