2009-08-14 28 views
0

在我的组件集合中的一个,我在编译的时候得到了一些警告:德尔福警告缠着我

方法创建(清除,DrawTab)隐藏了基类型ControlX的虚方法。

我的问题是,我不知道有关虚拟方法和德尔福知道如何解决这个问题(我们有源代码)。有谁知道如何解决这种类型的错误在Delphi 5中?

回答

9

你需要重写标记方法:

function Create(clr :Clear; dt : DrawTab); override; 

,你重写基类版本此标志。

+6

只有在您打算覆盖虚拟方法时才执行此操作。如果您打算更换它,请改为使用“reintroduce”。 – 2009-08-14 00:13:26

+0

@梅森:非常真实。 @Tom:在这种情况下,由于您正在“创建”一个“控件”,因此您可能需要重写并调用基类版本 - 这将是更常见的用法。 – 2009-08-14 00:41:09

+2

“覆盖”仅适用于原始方法是虚拟的(它是)*和*参数相同。如上所示,如果您想要替换方法,请使用“reintroduce” - 如果您需要具有相同名称的替代方法,请使用“overload”。 – 2009-08-14 01:57:13