![]() |
Formular auf Anfangssituation zurücksetzen
Ich möchte gerne mein formular auf seinen anfangszustand zurücksetzen. durch den programmverlauf hab ich einige felder und schaltflächen ein/ausgeblendet. gibt es eine elegantere lösung als für jedes objekt ein einzelnen befehl zu schreiben?
thanx holle |
Re: Formular auf Anfangssituation zurücksetzen
Was verstehst du unter "Anfangszustand einer Form"?
|
Re: Formular auf Anfangssituation zurücksetzen
na ich hab ein hauptfenster. von dem aus ruf ich z. b. das formular x auf. dort werden jetzt einstelleungen verändert (einblenden/ausblenden/andere werte). wenn ich das formular schließe und anschließend wieder öffne bleibt die ansicht erhalten. (ich wechsel zwischen den formularen mit form.visible und form.enabled) wenn ich das programm allerdings schließe und neu starte und dann das formular öffne befindet es sich in der grundversion.
ich hoffe du siehst durch :) mfg holle |
Re: Formular auf Anfangssituation zurücksetzen
Hallo holle.
Auf den Anfangszustand zurücksetzen - darunter verstehe ich, dass alle Objektvariablen deiner Form1 wieder den Zustand erhalten, der nach dem TForm1.Create() erreicht war. Das erreichst du durch den Aufruf von Form1.Create(). Mir scheint aber, dass du genau das nicht willst. Viel mehr soll deine Form nach dem Programmstart wieder die Zustände aufweisen, die sie beim letzten Beenden des Programms hatte. Dazu musst du einfach die relevanten Zustandswerte im Ereignis OnCanClose() wegschreiben und im Ereignis OnCreate() der Form wieder einlesen. Grüße vom marabu |
Re: Formular auf Anfangssituation zurücksetzen
ja genau das mein ich! den zustand nach form.create
werd ich gleich testen (ist ja so simple...) thanx holle |
AW: Formular auf Anfangssituation zurücksetzen
Selbes Problem,
Ich habe ein Menu erstellt, in dem Ich ein Item auswähle z.b. Neu, danach öffne Ich das Formular X mit Procedure Form1.Menu.NeuClick....; Begin Form2.Showmodal; end; Kann ich jetzt einfach vor das Showmodal Form2.Create(); setzen ? quasi: Zitat:
|
AW: Formular auf Anfangssituation zurücksetzen
Ja:
Delphi-Quellcode:
begin
Form2 := TForm2.Create( <Owner>); if Form2.Showmodal = ... then ... end; |
AW: Formular auf Anfangssituation zurücksetzen
In der Code-Library gibt es was dazu:
![]() |
AW: Formular auf Anfangssituation zurücksetzen
Nach dem Ich den Post geschrieben hatte, kam mir nen erleuchtender Moment..
Ich hatte die Procedure Init(enthält alle möglichen Einstellungen des Formulars) des Form2 ja immer nur im OnCreate Event gehabt.. Nachdem ich feststellen musste, dass alle Formulare vor Beginn des Programms ja durchgeradert werden, kam mir der Gedanke, die Procedure Init(enthält alle möglichen Einstellungen des Formulars) in das OnClose Event sowie in das OnShow Event reinzupacken... Und?!...der Effekt ist der gewünschte... Ob das jetzt Speichersparend ist, keine Ahnung???? |
AW: Formular auf Anfangssituation zurücksetzen
Frage: Warum beim schließen nochmal einen Init machen? - Nach dem Schließen erfolgt doch normalerweise das Löschen oder das erneute anzeigen. Da recicht es doch, wenn beim Anzeigen das Init gemacht wird.
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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