在类声明中,可以按Ctrl+Space来获取基类中可以重写的虚方法列表。
不过,这份清单似乎非常有限。例如。
TMyBaseClass = class(TInterfacedObject)
protected
procedure mymethod; virtual;
end;
TMyClass = class(TMyBaseClass)
protected
{Ctrl+Space here...}
end;在TMyClass中,我从TInterfacedObject和TObject获取方法,但不从TMyBaseClass获取方法。为什么会这样呢?
-Vegar
编辑:忘记我的delphi版本...我使用的是2007。
发布于 2009-09-18 09:55:08
因为这些IDE工具有时工作,有时不工作( afaik,这不是Delphi/RAD Studio独有的问题)。
例如,如果您有其他未完成的编辑,这意味着IDE不能充分解析到当前插入点之前的源代码,那么这些东西很可能会被“破坏”。
在这种情况下,我会亲自尝试快速执行Ctrl+F9,以查看是否存在我可能没有意识到的编译错误。10次中有9次是这样的,修复这些问题之后就会修复代码洞察行为。
在新单元中逐字重新创建示例时,我在代码完成列表中如期获得了"mymethod“,那么在您的实际情况中,基类和派生类是否可能实际上被其他代码分隔,甚至可能在不同的单元中,并且在您试图调用代码完成时,其他代码包含错误”在两个声明之间“?
作为一个更普遍的观点,我认为最好把这类事情看作是“当它们工作时拥有它们是好的”,但要努力养成不依赖它们的习惯和习惯。在这种情况下,唯一的替代方法是要覆盖的方法的知识,我承认这没有多大帮助。
https://stackoverflow.com/questions/1443306
复制相似问题