4
FMXコンポーネントをサブクラス化し、(仮想)保護されたプロシージャをオーバーライドしたいと思います。Delphiコンポーネントのパブリックタイプ
この手順には、コンポーネントのクラスで「パブリックタイプ」として宣言されている多くのパラメータがあります。
プロシージャをオーバーライドしようとすると、コンポーネントが元のサブクラスをサブクラス化しているにもかかわらず、型の1つが宣言されていないというエラーが発生します。私はそれにアクセスできないはずですか?クラスは次のように定義されて
:今
TTabControl = class (...)
public type
TTabBarButton = (Left, Right)
TTabBarButtons = set of TTabButton;
....
protected
procedure DoUpdate(const TabBarButtons: TTabBarButtons; ....); virtual;
...
end;
、私はこのクラスをサブクラス化とはdoupdateを上書きしたいしています。
TMyClass = class (TTabControl)
protected
procedure DoUpdate(const TabBarButtons: TTabBarButtons; ....); override;
....
end;
コンパイラは、自分のクラスのTTabBarButtonsが定義されていないと不平を言っています。自分のクラスでTTabBarButtonsをパブリック・タイプとして再定義すると、定義は基本クラスとは異なります。
これで私を助けてもらえますか?
ありがとうございます。
ありがとうKen。それはうまくいった。興味深いのは、TTabControlへの参照がすべてのパラメータで必要というわけではないということです。私は本当に理由は分かっていませんが、うまくいきません。ありがとう。 –