WRITEABLECONST(書き込み可能な型付き定数)(Delphi)
Delphi コンパイラ指令のリスト:インデックス への移動
型 |
Switch |
構文 |
{$J+} または {$J-} {$WRITEABLECONST ON} または {$WRITEABLECONST OFF} |
デフォルト |
{$J-} {$WRITEABLECONST OFF} |
対象範囲 |
ローカル |
$J 指令は,型付き定数が変更できるかどうかを制御します。{$J+} 状態にすると型付き定数は変更でき,実質的にはこれらは初期化済み変数です。{$J-} 状態では,型付き定数は真に定数であり,これを変更しようとすると,コンパイラはエラーを報告します。
書き込み可能な定数は,実行時に変更できる変数として型付き定数の使用を参照します。次に例を示します。
const foo: Integer = 12; begin foo := 14; end.
$WRITEABLECONST OFF を指定した場合,このコードの begin..end ブロックにおける foo 変数への代入でコンパイルエラーが生成されます。これは,定数宣言を var 宣言に変更するだけで修正することができます。
Delphi および Object Pascal の初期バージョンでは,型付き定数は常に書き込み可能で,{$J+} 状態に対応していました。書き込み可能な型付き定数を使用する古いソースコードは {$J+} 状態でコンパイルしなければなりません。ただし,新しいアプリケーションでは初期化済み変数を使用するようにし,コードは {$J-} 状態でコンパイルすることをお勧めします。