gpt4 book ai didi

delphi - Delphi 组件中的公共(public)类型

转载 作者:行者123 更新时间:2023-12-03 15:30:18 29 4
gpt4 key购买 nike

我已经对 FMX 组件进行了子类化,并且想要覆盖(虚拟) protected 过程。

此过程有许多参数,这些参数在组件的类中声明为“公共(public)类型”。

当我尝试重写该过程时,出现错误,指出其中一种类型未声明,尽管我的组件是原始类型的子类。我不应该能够访问它吗?

该类的定义如下:

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 重新定义为公共(public)类型,那么它会说该定义与基类不同。

你能帮我解决这个问题吗?

非常感谢。

最佳答案

这对我有用:

TMyClass = class (TTabControl)
protected
procedure DoUpdate(const TabBarButtons: TTabControl.TTabBarButtons; ....); override;
....
end;

您还需要使用其他参数来执行相同的操作;当您开始跟踪所有这些类型和声明时,乐趣就来了。祝你好运。 :-)

关于delphi - Delphi 组件中的公共(public)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36586138/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com