Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable in Timer initialisieren (https://www.delphipraxis.net/156995-variable-timer-initialisieren.html)

Muellermilchtrinker 23. Dez 2010 12:50

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?

Christian Seehase 23. Dez 2010 12:55

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.

stahli 23. Dez 2010 14:38

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.

Muellermilchtrinker 23. Dez 2010 16:11

AW: Variable in Timer initialisieren
 
Die Variable ist nur in der Timerbehandlung deklariert. Diese soll auch nur in der Timerbehandlung Verwendung finden.

DeddyH 23. Dez 2010 16:12

AW: Variable in Timer initialisieren
 
Dann bliebe noch eine private Variable des Formulars.

stahli 23. Dez 2010 16:20

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.

DeddyH 23. Dez 2010 16:21

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:35 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