我正在将一些代码移植到 Delphi XE 并注意到如果我使用 Application.Handle 来获取程序的句柄,Delphi 会抛出一个错误并拒绝编译,它说:
Undeclared identifier: 'Handle'
当我尝试调用 Application.ProcessMessages 时会发生同样的行为。我认为 Unicode 迁移指南中未列出的某些内容一定已经发生了变化。
“应用程序”的函数和变量去哪儿了?
最佳答案
我的心理调试能力告诉我,这个单元在导入 Forms
之后导入 SvcMgr
,因此 SvcMgr< 中的
将 Application
变量Forms
中您想要的那个带出范围。或者罪魁祸首可能是 WebBroker
或 CtlPanel
。
您可以通过在第一个错误处按住 CTRL 单击 Application
变量来确定它是什么,您将进入一个不是 Forms
的单元>.
解决方案只是重新排序您的导入,以便 Forms
排在其他之后。
另一方面,我的心灵调试能力今天可能会被打破!
关于delphi - Delphi XE 中的 Application.handle 发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083859/