Schreibbare typisierte Konstanten (Delphi)
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.