![]() |
Bei der Deklaration einer Variable einen Wert definieren
Hallo Leute,
meine Frage ist kurz und knapp: Wie ist es möglich bei der Deklaration einer Variable, wie hier im Beispiel:
Delphi-Quellcode:
einen Wert wie beispielsweise 10 festzulegen?
var Variable : integer;
Delphi-Neuling |
Re: Bei der Deklaration einer Variable einen Wert definieren
Hi,
Das geht (nur) bei globalen Variablen so:
Delphi-Quellcode:
Bei lokalen Variablen oder Variablen einer Klasse geht das nicht.
var Variable : integer = 100;
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Hallo Neutral General,
und wie mache ich das ohne einer globalen Variable? Gibt es da auch eine andere Möglichkeit? Delphi-Neuling |
Re: Bei der Deklaration einer Variable einen Wert definieren
Nein. Nur bei globalen Variablen ist eine derartige Initialisierung überhaupt sinnvoll (aus Maschinensprache-Sicht betrachtet). Lokalen Variablen und Feldern musst du von Hand zu gegebener Zeit einen Wert zuweisen.
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Hallo ihr Beide,
danke für die Hilfe :!: Delphi-Neuling |
Re: Bei der Deklaration einer Variable einen Wert definieren
Das geht auch bei lokalen Variablen.
Allerdings heißen diese Variablen dann "Zuweisbare typisierte Konstanten" und muss in den Projectoptionen eingeschaltet werden. Ich nutze das z.B. um sicherzustellen, dass eine Procedure/Funktion nicht rekursiv aufgerufen wird.
Delphi-Quellcode:
procedure Foo();
const // <--- const nicht var ! lLock: Boolean = false; begin if lLock then exit; lLock := true; try .. .. finally lLock := false; end; end; alex |
Re: Bei der Deklaration einer Variable einen Wert definieren
Das ist dann aber keine lokale Variable mehr.
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Zitat:
|
Re: Bei der Deklaration einer Variable einen Wert definieren
Eine beschreibbare Konstante. So etwas zu nutzen halte ich übriogens für schlechten Stil. Entweder ich benutze eine Variable, um damit zu arbeiten oder ich deklarier eine Konstante, weil ich einen konstanten Wert haben will.
|
Re: Bei der Deklaration einer Variable einen Wert definieren
@Delphi-Neuling:
weise einfach direkt zu Begin der Prozedur/Funktion (also gleich nach dem ersten Begin) den gewünschten Wert zu.
Delphi-Quellcode:
des sollte eigentlich die beste/einfachste Variante sein.
procedure Foo();
var xyz: Integer; begin xyz := 123; {...} end; @Zuweisbare typisierte Konstanten: So wären außerdem alle Konstantan davon betroffen, was einige Nachteile mit sich bringen kann :wall: Dann doch lieber globale Variablen (innerhalb des Implementation-Blocks haben sie auch keine Auswirkungen außerhalb der Unit) Und mit passenden Variablennamen kommt man auch sonst mit nichts in Konflikte.
Delphi-Quellcode:
implementation
{...} var Procedure_Foo_Lock: Boolean = false; procedure Foo(); begin if Procedure_Foo_Lock then exit; Procedure_Foo_Lock := true; try {...} finally Procedure_Foo_Lock := false; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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 by Thomas Breitkreuz