W1009 '%s' の再宣言のため基本クラスのメンバーが隠蔽されました (Delphi)
エラーと警告のメッセージ(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.
{ 派生クラス内のプロパティ名を変更すればエラーはなくなる }