E2138 メッセージのパラメータが間違っています (Delphi)

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

エラーと警告のメッセージ(Delphi):インデックス への移動

メッセージ処理メソッドは var パラメータを 1 つだけとれます。パラメータの型はチェックされません。


program Produce;

  type
    Base = class
      procedure Msg1(x : Integer); message 151;
      procedure Msg2(VAR x, y : Integer); message 152;
    end;

  procedure Base.Msg1(x : Integer);
  begin
  end;

  procedure Base.Msg2(VAR x, y : Integer);
  begin
  end;

begin
end.

{ 最初の例ではパラメータが var でないのが明らかなエラーである。2 番めの例では複数のパラメータを宣言したのがエラーである }


program Solve;

  type
    Base = class
      procedure Msg1(VAR x : Integer); message 151;
      procedure Msg2(VAR y : Integer); message 152;
    end;

  procedure Base.Msg1(VAR x : Integer);
  begin
  end;

  procedure Base.Msg2(VAR y : Integer);
  begin
  end;

begin
end.

{ どちらの場合もメッセージメソッドの宣言で var パラメータを 1 つだけ指定して解決した }