Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi State einer Form? (https://www.delphipraxis.net/104130-state-einer-form.html)

Helmi 27. Nov 2007 20:55


State einer Form?
 
Hallo,

gibt es zufälligerweise von einer Form oder Application ein Art "State"-Property, in dem der Zustand angegeben wird?
Wie z. b. dass es gerade kreiert wird oder so.

Hintergrund ist der:

Ich lade im OnCreate dein Inhalt von ListViews aus Dateien.
Im OnChange dieser ListViews wird bei Änderung der Inhalt wieder in Dateien geschrieben.

Nun ist mir aufgefallen, dass ja das Laden im OnCreate der Form schon eine Änderung hervorruft und dadurch gleich wieder ein Speichern ausgeführt wird.

Ich könnt das natürlich mit einer globalen Variablen abfangen, die vorm Laden auf true gesetzt wird und nach dem Laden auf false.
In den OnChange-Proceduren könnte man dann auf diese Variable reagieren und daraufhin speichern oder nicht.

Jetzt wärs natürlich schon, wenn die Form, bzw. die Application eine Art State hat.
Diese könnte man dann in den OnChange-Ereignissen abfragen und sollte z. B. der State Create anzeigen, nicht speichern.

So könnte ich mir eine Variable speichern.

Gibts sowas oder muss ich eine Variable opfern?

Apollonius 27. Nov 2007 21:03

Re: State einer Form?
 
Setzte doch einfach Listview.Enabled vor dem Laden auf false und danach wieder auf true, dann wird onChange nicht ausgelöst, wenn ich mich richtig erinnere.

Hawkeye219 27. Nov 2007 21:13

Re: State einer Form?
 
Hallo,

eine Behandlungsroutine kann auch nicht aufgerufen werden, wenn man sie vorübergehend abklemmt:

Delphi-Quellcode:
ListView.OnChange := nil;
  :
<Änderungen an ListView>
  :
ListView.OnChange := ListViewChange;
Gruß Hawkeye


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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