Delphi: x2269: オーバーライドされた仮想メソッド ‘%s.%s’ の可視性が %s となり基本クラス ‘%s’ での可視性 (%s) より低くなりました

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

「x2269: オーバーライドされた仮想メソッド ‘%s.%s’ の可視性が %s となり基本クラス ‘%s’ での可視性 (%s) より低くなりました」

現在、あるプロジェクト(他の会社製)の修正を行っているのですが、上記警告がかなり出ます。

この警告は、オーバーライドしたメソッドについて、基本クラスよりも派生クラスの可視性が低い場合に表示されるやつですね。

つまり、
基本クラスのメソッドが protected,public,published で宣言されているのに、
派生クラスのメソッドがで private,protected で宣言された場合です。

Delphi では、可視性の範囲が次の通りだからですね。

private < protected < public, published, automated

ヘルプには解決方法として3つありましたが、基本クラスに合わせるのが一番まっとうな解決策だと思います。

というか、無視するって言う解決方法って解決なのか?(笑

いつもシェアしていただいてありがとうございます。これからも「ちょいとお役立ちして嬉しくなる」記事の配信を目指しています。ポチッと↓のボタンからシェアしてください。

山本をフォローするだけでちょっぴりお得な情報が見つかりますよ↓↓↓