E2197 変数パラメータに定数オブジェクトを渡すことはできません(Delphi)

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

エラーと警告のメッセージ(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.