Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Statische Variablen definieren ?
Nilsener - Do 18.09.03 10:48
Titel: Statische Variablen definieren ?
Hallo,
wie definiert man statische Variablen innerhalb einer function ?
Die Werte der Variablen sollen nach verlassen der function erhalten bleiben und beim erneuten functionaufruf wieder verfügbar sein, statisch eben.
Dank für Eure Hilfe, Gruss Nils
Christian S. - Do 18.09.03 11:56
Hallo und herzlich Willkommen im Forum!
Die Variablen innerhalb einer Funktion sind danach wieder verschwunden. Variablen, welche Du weiterhin verwenden willst, musst Du global (also außerhalb der Funktion) definieren.
MfG
Peter
AndyB - Do 18.09.03 12:33
Titel: Re: Statische Variablen definieren ?
| Nilsener hat folgendes geschrieben: |
| Die Werte der Variablen sollen nach verlassen der function erhalten bleiben und beim erneuten functionaufruf wieder verfügbar sein, statisch eben. |
Bis Delphi 5 (einschl.) kann man das so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function IncrementValue: Integer; const MyStaticVar: Integer = 0; begin Inc(MyStaticVar); Result := MyStaticVar; end;
ShowMessage(IntToStr(IncrementValue)); ShowMessage(IntToStr(IncrementValue)); ShowMessage(IntToStr(IncrementValue)); |
Ab Delphi 6 muss dazu ein Compiler-Schalter umgelegt werden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| {$IFDEF MSWINDOWS} {$WRITEABLECONST ON} {$ENDIF} {$IFDEF LINUX} {$WRITEABLECONST ON} {$ENDIF} |
Christian S. - Do 18.09.03 13:19
Variable Konstanten, man lernt doch nie aus ...
AndyB - Do 18.09.03 14:31
Das waren die vorgänger von "Vorinitialisierten Variablen" ala
Delphi-Quelltext
1: 2: 3: 4:
| var x: Integer = 10; begin ShowMessage(IntToStr(x)); end; |
Nilsener - Mo 22.09.03 15:39
Titel: Danke, problem gelöst.
Danke Jungs für Eure Hilfe, ich verwende das Beispiel von AndyB und es funktioniert prima.
Gruss Nils
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!