WRITEABLECONST(書き込み可能な型付き定数)(Delphi)

提供: RAD Studio
移動先: 案内検索

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-} 状態でコンパイルすることをお勧めします。