W1009 '%s' の再宣言のため基本クラスのメンバーが隠蔽されました (Delphi)

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

エラーと警告のメッセージ(Delphi) への移動

基本クラスの 1 つに含まれている変数と同じ名前でクラス内にプロパティを作成しました。たとえば,新しく基本クラス階層を導入し,それに現在使用しているプロパティ名と同じ名前のメンバー変数が入っている場合などが原因と考えられます。


(*$WARNINGS ON*)
program Produce;

  type
    Base = class
      v : integer;
    end;

    Derived = class (Base)
      ch : char;
      property v : char read ch write ch;
    end;

begin
end.

{ Derived.v は Base.v をオーバーライドし,したがって隠す。型キャストをしなければ Derived 型の変数から Base.v へアクセスできない }


(*$WARNINGS ON*)
program Solve;
  type
    Base = class
      v : integer;
    end;

    Derived = class (Base)
      ch : char;
      property chV : char read ch write ch;
    end;

begin
end.

{ 派生クラス内のプロパティ名を変更すればエラーはなくなる }