Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form erstellen (https://www.delphipraxis.net/130812-form-erstellen.html)

ichnixwissen 13. Mär 2009 16:08


Form erstellen
 
Ich öffne eine Form und mache da was, dann schließ ich die Form und wenn ich sie dann erneut öffnen will ist immer noch das da was ich vorher gemacht hab?
Wie kann ich beim erneuten Aufruf der Form die wieder zurücksetzen?

mkinzler 13. Mär 2009 16:12

Re: Form erstellen
 
Diese nicht nur Schliessen(Hide) sondern Freigeben/Neu erzeugen. U.U reicht auch der erneute Aufruf des Konstruktors (dann als normale Prozedur):

Delphi-Quellcode:
Form.Create( Application);

ichnixwissen 13. Mär 2009 16:17

Re: Form erstellen
 
da zeigt er an form existiert bereits

_frank_ 13. Mär 2009 16:18

Re: Form erstellen
 
es gibt einen Weg, ja, aber dieser ist nicht direkt für Anfänger geeignet.
man kann das form freigeben und neu erstellen (TFormx.CreateNew), aber man muss dabei aufpassen, dass man das nicht mit dem Mainform macht (ggf. vorher mainform ändern).

eine Möglichkeit die eher für Anfänger geeignet ist, die entsprechenden Einstellungen zu sichern (ini,xml,registry,...).
diese Methode würde ich dir eher ans Herz legen, die erste Variante ist sehr Fehleranfällig und erfordert schon gewisses Wissen.

falls du es dir trotzdem mal anschauen möchtest...ich hab das (auch mit dem Mainform) in meinem DFM-Editor (Signatur) gemacht, wenn man die sprache in den Optionen wieder auf die original-Sprache (Englisch) zurücksetzt.

Gruß Frank

ichnixwissen 13. Mär 2009 16:23

Re: Form erstellen
 
was muss ich hinter TFormx.CreateNew in Klammern schreiben???
Wie geht die andere methode???

Pfoto 13. Mär 2009 16:52

Re: Form erstellen
 
Hallo!

Ich mache es immer so:

Delphi-Quellcode:
myForm:= TMyForm.Create(nil);
try
  If myForm.ShowModal = mrOk then
  begin
    // hier was machen, wenn Ok gedrückt wurde
  end;
finally
  myForm.Free;
end;
Gruß
Jürgen

mkinzler 13. Mär 2009 17:36

Re: Form erstellen
 
Oder im CloseQuery-Event caFree setzen


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz