![]() |
Formulare erstellen und/oder ganz entfernen
Hallo Leute,
habe mich hier etwas umgeschaut und ähnliche Probleme gefunden, aber noch keine Lösung. Also, folgendes Problem: ich habe ein Formular, auf dem zur Laufzeit Komponenten erstellt und abgelegt werden. So weit ok. Wenn man jedoch das Formular schließt (Form.Close) und nachher wieder öffnet, sind diese Komponenten immer noch da. Wie bekomme ich dieses Formular wieder in den Ursprungszustand zurück? Ich habe mir überlegt, das Formular unter Projekt/Optionen als verfügbar zu markieren und erst zur Laufzeit zu erstellen. Und nachdem man fertig ist, soll es aus dem Speicher entfernt werden, um später wieder erstellt werden zu können. Nur schaffe ich das nicht ganz. Meint ihr, der Schritt wäre ok, und wenn ja, wie bekomme ich das hin? MfG davar |
Re: Formulare erstellen und/oder ganz entfernen
Die Komponenten könnte man doch mit
Delphi-Quellcode:
entfernen.
Panel1.Free;
Button1.Free; //usw. MfG Binärbaum |
Re: Formulare erstellen und/oder ganz entfernen
Hallo davar,
du solltest nicht die globalen Formvariablen verwenden. Wenn du z.B. Form2 in Form1 verwenden willst, kannst du folgendes machen:
Delphi-Quellcode:
Hier erstelle ich z.B. im OnCreate das zweite Form, das koenntest du auch in anderen Routinen machen, so auch im ButtonClick. Beim Schliessen von Form1 geben wir auch MyForm frei, und das koenntest du auch in einer anderen beliebigen Methode machen.
type TForm1=class(TForm)
//... private MyForm: TForm2; //... procedure TForm1.FormCreate(Sender: TComponent); begin MyForm := TForm2.Create; end; procedure TForm1.Button1Click(Sender: TComponent); begin MyForm.Show; end; procedure TForm1.FormClose(Sender: TComponent); begin MyForm.Free; end; Greetz alcaeus |
Re: Formulare erstellen und/oder ganz entfernen
Hallo alcaeus,
das habe ich jetzt mal programmiert. Das Hauptformular heisst FormHauptformular, das zu erstellende Formular FormErstellen. Jetzt habe ich deinen Quellcode in meinen eingebaut und dementsprechend geändert:
Delphi-Quellcode:
Hier sagt er mir bereits "Undefinierter Bezeichner: 'TFormErstellen'.
private
MyForm: TFormErstellen; Und wenn es hier mal laufen sollte (habe schon zig verschiedene Versionen ausprobiert), kommt weiter unten bei
Delphi-Quellcode:
die Meldung 'Nicht genügend wirkliche Parameter'. Habe schon die verschiedensten Varianten ausprobiert, komme aber nicht zu einem Ergebnis..
MyForm:= TFormErstellen.Create;
MfG davar |
Re: Formulare erstellen und/oder ganz entfernen
Zitat:
Delphi-Quellcode:
oder
MyForm:= TFormErstellen.Create(nil);
Delphi-Quellcode:
MfG
MyForm:= TFormErstellen.Create(FormHauptformular);
Binärbaum |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 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