在Delphi XE中,Application.handle发生了什么变化?

Dai*_*tsu 2 migration delphi delphi-6 delphi-xe

我正在将一些代码移植到Delphi XE并注意到如果我使用Application.Handle来获取程序的句柄,Delphi会抛出一个错误并拒绝编译,说:

Undeclared identifier: 'Handle'
Run Code Online (Sandbox Code Playgroud)

当我尝试调用Application.ProcessMessages时会发生同样的行为.我认为必须转移一些未在Unicode迁移指南中列出的内容.

"应用程序"的功能和变量在哪里?

Dav*_*nan 12

我的通灵调试能力告诉我,该单位在导入SvcMgr后进口Forms,因此Application变量SvcMgr将取得你想要的那个Forms超出范围.或许罪魁祸首是WebBrokerCtlPanel.

你可以通过CTRL点击Application第一个错误点的变量来确定它是什么,然后你将登陆一个不是的单位Forms.

解决方案只是重新排序您的导入,以便Forms在其他导入之后进入.

另一方面,我的通灵调试能力今天可能被打破!