2009-08-14 57 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