![]() |
Delphi-Version: 2009
Variable in Timer initialisieren
Hallo DP,
ich hab da mal eine kurze Frage. Mein Code funktioniert nicht, weil ich eine Variable nicht initialisiert habe. Das Problem ist, dieser Code ist in einer Timerprocedure. Wie kann ich jetzt die Varaible initialisiern, ohne das die bei jedem Timerlauf überschrieben wird? Ich will keine globale Variable machen? Jemand ne Idee? |
AW: Variable in Timer initialisieren
Moin,
deklariere Dir ein Flag, dass beim Start des Programmes gelöscht, und unmittelbar noch der Intialisierung gesetzt wird, wobei die Intialisierung natürlich nur durchgeführt wird, wenn das Flag nicht gesetzt ist. |
AW: Variable in Timer initialisieren
Wo ist denn die Variable dekariert? Dort solltest Du sie auch initialieren.
Bei einer Unit im initalization-Teil. Bei einer Formular-Eigenschaft im Formular-Create. Usw. Falls Du sie innerhalb der Timerbehandlung deklariert hast, wäre das wohl die falsche Stelle, wenn sie über die Timerereignisse hinweg gültig sein/bleiben soll. Gleiches würde auch für das vorgeschlagene Flag zutreffen, welches dann außerhalb der Timerbehandlungh definiert werden müsste. |
AW: Variable in Timer initialisieren
Die Variable ist nur in der Timerbehandlung deklariert. Diese soll auch nur in der Timerbehandlung Verwendung finden.
|
AW: Variable in Timer initialisieren
Dann bliebe noch eine private Variable des Formulars.
|
AW: Variable in Timer initialisieren
Na ja, wenn der Wert über mehrere Timerintervalle Bestand haben (oder z.B. hochgezählt werden) soll, muss die Variable irgendwo außerhalb deklariert (und bestenfalls auch initialisiert) werden.
|
AW: Variable in Timer initialisieren
Ja eben, und wenn man auf globale Variablen verzichten will/muss, verbleiben eigentlich nur noch private Felder, es muss ja keine Property sein.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 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