E2197 変数パラメータに定数オブジェクトを渡すことはできません(Delphi)
エラーと警告のメッセージ(Delphi) への移動
このエラー メッセージが表示されるのは、定数を関数や手続きの var パラメータまたは out パラメータとして渡そうとした場合です。
以下の例では、定数を var パラメータとして使用しています。
program Project1; uses SysUtils; const c: Integer = 2; procedure MyProc(var c: Integer); begin end; begin MyProc(c); (*ここでエラー メッセージが表示されます*) end.
この種の問題を解決するには、別の変数を宣言し、定数の値をその変数に代入することができます。
program Project2; uses SysUtils; const c: Integer = 2; var a: Integer; procedure MyProc(var a: Integer); begin end; begin a := c; MyProc(a); (*今度は問題ありません*) end.