When working on an old project in Delphi XE2, the code-completion window that pops up after CTRL-SPACE does not list message handlers like Delphi 7 did:
在上面的屏幕截图中,WM***
例程缺失。这是为什么?
use 子句中的单元名称不是完全限定的。包括每个单元的命名空间,然后找到方法声明的必要类型,让代码完成弹出窗口返回所有成员。
例如:
-
procedure WMActivate(var Message: TWMActivate);
时不会显示Winapi.Messages.TWMActivate
没有找到,
-
procedure CMActivate(var Message: TCMActivate);
时不会显示Vcl.Controls.TCMActivate
没有找到。
解决方案:
uses
Winapi.Windows, Winapi.Messages, System.Classes, Vcl.Controls, Vcl.Forms,
Vcl.Graphics;
具体为什么会这样,我也不敢解释。特别是因为所有其他方法(不是消息处理程序)都会显示,无论相关单元是否完全合格。但这并不重要;当在 Delphi 2009 或更高版本中工作时,您应该习惯使用完全限定的单元名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)