Delphi2005/E2363エラーの回避方法を教えて下さい...

解決


suzu_rin  2005-07-13 01:00:11  No: 16326

いつもお世話になってます。
suzu_rinと申します。

Delphi2005使用です。

TStringGridExを参考にさせていただいて、D2005用にソース修正しています。
  TStringGridEx(Grid).HideEditor;
としてるのですが、下記のエラーが出てしまいます。
どなたか、回避方法を教えていただけないでしょうか...

[エラー] xxxxxxxxx.pas(155): E2363 継承型のメソッドだけがアセンブリの境界を越えてプロテクトされたシンボル [Borland.Vcl]TCustomGrid.HideEditor にアクセスできます


ななし  2005-07-13 01:37:54  No: 16327

TCustomGrid.HideEditorはProtectedです。
TStringGridExでHideEditorの宣言をPublicへ移動しましょう。


suzu_rin  2005-07-13 02:29:05  No: 16328

ななし様

早速にご回答、ありがとうございます。

public
  procedure HideEditor();

で宣言して、

procedure TStringGridEx.HideEditor();
begin
  inherited;
end;

で実装してみました。これでOKでしょうか...
もちろんエラーは出ていませんし、動作確認も取れていますが、
正しいかどうかの判断がつかないもので...


ななし  2005-07-13 04:17:53  No: 16329

> これでOKでしょうか...
OKです。静的メソッドの再定義でinheritedというのは変な気がするの
ですが、そのように書くようです。

ちなみにHideEditor()のカッコは要らないと思います。


suzu_rin  2005-07-13 20:40:35  No: 16330

ななし様
ご回答、ありがとうございます。

ホッとしました。
() 取ります(^^;

ありがとうございましたm(_ _*)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加