首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi:覆盖basemethods的协同解包

Delphi:覆盖basemethods的协同解包
EN

Stack Overflow用户
提问于 2009-09-18 08:50:14
回答 1查看 179关注 0票数 1

在类声明中,可以按Ctrl+Space来获取基类中可以重写的虚方法列表。

不过,这份清单似乎非常有限。例如。

代码语言:javascript
复制
 TMyBaseClass = class(TInterfacedObject)
 protected
   procedure mymethod; virtual;
 end;

 TMyClass = class(TMyBaseClass)
 protected
   {Ctrl+Space here...}
 end;

在TMyClass中,我从TInterfacedObject和TObject获取方法,但不从TMyBaseClass获取方法。为什么会这样呢?

-Vegar

编辑:忘记我的delphi版本...我使用的是2007。

EN

回答 1

Stack Overflow用户

发布于 2009-09-18 09:55:08

因为这些IDE工具有时工作,有时不工作( afaik,这不是Delphi/RAD Studio独有的问题)。

例如,如果您有其他未完成的编辑,这意味着IDE不能充分解析到当前插入点之前的源代码,那么这些东西很可能会被“破坏”。

在这种情况下,我会亲自尝试快速执行Ctrl+F9,以查看是否存在我可能没有意识到的编译错误。10次中有9次是这样的,修复这些问题之后就会修复代码洞察行为。

在新单元中逐字重新创建示例时,我在代码完成列表中如期获得了"mymethod“,那么在您的实际情况中,基类和派生类是否可能实际上被其他代码分隔,甚至可能在不同的单元中,并且在您试图调用代码完成时,其他代码包含错误”在两个声明之间“?

作为一个更普遍的观点,我认为最好把这类事情看作是“当它们工作时拥有它们是好的”,但要努力养成不依赖它们的习惯和习惯。在这种情况下,唯一的替代方法是要覆盖的方法的知识,我承认这没有多大帮助。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1443306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档