【发布时间】:2016-08-03 19:48:32
【问题描述】:
我对 FMX 组件进行了子类化,并且我想覆盖(虚拟)受保护的过程。
这个过程有许多参数,在组件的类中被声明为“公共类型”。
当我尝试重写该过程时,我收到一个错误,即未声明其中一种类型,尽管我的组件子类化了原始类型。我不应该能够访问它吗?
类是这样定义的:
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 重新定义为公共类型,那么它表示定义与基类不同。
你能帮我解决这个问题吗?
非常感谢。
【问题讨论】:
标签: delphi firemonkey delphi-10-seattle