Registriert seit: 3. Jan 2006
509 Beiträge
Delphi 7 Enterprise
|
Komponenten initialisieren
10. Nov 2012, 11:23
Hallo!
Manchmal ist es doch so, dass man beim Programmstart bestimmte Eigenschaften von Komponenten initialisiert. Diese Eigenschaften rufen aber Methoden auf, die beim Programmstart noch nicht ausgeführt werden dürfen.
Also ich hab gerade zum Beispiel eine Scrollbar. Ich möchte beim Programmende die alte ScrollBar.Position speichern und beim Programmstart wiederherstellen. Dabei wird aber ScrollBar.OnChange() ausgelöst und dadurch krieg ich dann beim Start einen Fehler, weil OnChange() auf Variablen zugreift, die zu dem Zeitpunkt noch nicht initialisiert sind.
Wie macht man das am geschicktesten?
Ich kann jetzt eine globale Variable "Startup: Boolean" benutzen, die nur beim Programmstart True ist. Und dann muss ich in jede Methode, die solch ein Problem hat "if not Startup then begin [...] end" schreiben.
Gibt es da vielleicht eine schönere Lösung?
Grüße
blablab
|