Schreibbare typisierte Konstanten (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Liste der Delphi-Compiler-Direktiven - Index


Typ

Option

Syntax

{$J+} oder {$J-} {$WRITEABLECONST ON} oder {$WRITEABLECONST OFF}

Vorgabe

{$J-} {$WRITEABLECONST OFF}

Bereich

Lokal



Die Direktive $J legt fest, ob typisierte Konstanten geändert werden können. Im Status {$J+} ist eine Änderung möglich. Typisierte Konstanten sind in diesem Fall mit initialisierten Variablen vergleichbar. Im Status {$J-} sind typisierte Konstanten tatsächlich konstant. Jeder Versuch, sie zu ändern, führt zu einer Fehlermeldung durch den Compiler.

Als schreibbar werden typisierte Konstanten bezeichnet, die zur Laufzeit als Variablen verwendet und somit geändert werden können. Zum Beispiel:


const
	   foo: Integer = 12;
	begin
	    foo := 14;
	end.

Im Status $WRITEABLECONST OFF führt dieser Quelltext bei der Zuweisung an die Variable foo im begin..end-Block zu einem Compiler-Fehler. Sie können das Problem beheben, indem Sie foo nicht als const, sondern als var deklarieren.

In den früheren Versionen von Delphi und Embarcadero Pascal konnten typisierte Konstanten immer geändert werden (wie im Status {$J+}). Deshalb muss älterer Quelltext, der änderbare typisierte Konstanten enthält, im Status {$J+} compiliert werden.