Form schliessen und wieder öffnen

Für Fragen von Einsteigern und Programmieranfängern...

Form schliessen und wieder öffnen

Beitragvon Marc » 24. Mai 2018, 11:33 Form schliessen und wieder öffnen

Hallo Zusammen.

Habe eine Form die ich mehrmals aufrufen möchte (Aus einer Schlaufe für Dateneingabe).

Wenn ich diese mit close; schliesse und mit Form2.ShowModal wieder öffne sehe ich wieder den Zustand den ich beim schliessen hatte (inkl eingegebener Daten).
Die wiedergeöffnete Form scheint auch die Einträge von FormCreate zu überspringen.

Gibt es eine Funktion die die Form wieder auf die Werte setzt die ich im Objektinspektor angegeben habe? Einen Reset sozusagen?
Good code comes from experience, experience comes from bad code.
Marc
 
Beiträge: 190
Registriert: 11. Nov 2016, 14:09
Wohnort: Schweiz
OS, Lazarus, FPC: Linux Mint 18 (WinXP VBox) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 24. Mai 2018, 11:57 Re: Form schliessen und wieder öffnen

Marc hat geschrieben:Wenn ich diese mit close; schliesse und mit Form2.ShowModal wieder öffne sehe ich wieder den Zustand den ich beim schliessen hatte (inkl eingegebener Daten).
Die wiedergeöffnete Form scheint auch die Einträge von FormCreate zu überspringen.

Wenn Form2 nicht das Hauptformular ist, wird es nur geschlossen, nicht destroyed. Mit ShowModal wird es auch nicht erzeugt.
Etwas in der Art sollte klappen:

Code: Alles auswählen
  FreeAndNil(Form2);
  Form2 := TForm2.Create(Application);
  Form2.Show;
theo
 
Beiträge: 8054
Registriert: 11. Sep 2006, 18:01

Beitragvon Marc » 24. Mai 2018, 12:36 Re: Form schliessen und wieder öffnen

Hallo Theo

Vielen Dank für die schnelle Hilfe!

Ich hab es jetzt so gemacht :
Code: Alles auswählen
 Form2 := TForm2.CREATE(Application);
 Form2.ShowModal;
 FreeAndNil(Form2);

Das scheint zu funktionieren.
Good code comes from experience, experience comes from bad code.
Marc
 
Beiträge: 190
Registriert: 11. Nov 2016, 14:09
Wohnort: Schweiz
OS, Lazarus, FPC: Linux Mint 18 (WinXP VBox) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 25. Mai 2018, 00:16 Re: Form schliessen und wieder öffnen

Normalerweise setzt man die Eingaben Manuell zurück. Zum Beispiel:
Code: Alles auswählen
Edit1.Text:='';
Edit2.Text:='';

Bei anderen Komponenten geht es natürlich ähnlich z.b. CheckButton1.Checked:=False.

Das muss du "nur" im onShow machen z.b.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6652
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon Marc » 25. Mai 2018, 22:04 Re: Form schliessen und wieder öffnen

Auf alle Fälle Danke für die vielen Antworten.

Mir war so nur
Code: Alles auswählen
 close;
bekannt.

Die Form ist etwas interaktiv gestaltet. Dh. je nach dem was man tut werden Buttons sichtbar oder Eingabefelder.
Das alles einzeln wieder Zurechtzurücken wäre schon ein Aufwand.
Daher ist es besser die Form wird einfach gelöscht und eine neue kommt daher.
Good code comes from experience, experience comes from bad code.
Marc
 
Beiträge: 190
Registriert: 11. Nov 2016, 14:09
Wohnort: Schweiz
OS, Lazarus, FPC: Linux Mint 18 (WinXP VBox) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 26. Mai 2018, 09:11 Re: Form schliessen und wieder öffnen

Moderationshinweis: Ich habe mir mal erlaubt, die Diskussionen zu with in ein neues Thema zu verschieben.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1963
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Mathias » 26. Mai 2018, 15:41 Re: Form schliessen und wieder öffnen

Die Form ist etwas interaktiv gestaltet. Dh. je nach dem was man tut werden Buttons sichtbar oder Eingabefelder.
Das alles einzeln wieder Zurechtzurücken wäre schon ein Aufwand.

Mich würde dies nicht abhalten. Wen man einen Dialog anhand einer INI-Datei initialisieren muss, hat man diesen Aufwand auch. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4258
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste

porpoises-institution
accuracy-worried