delphi - Delphi XE 中的 Application.handle 发生了什么变化?

标签 delphi migration delphi-xe delphi-6

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

Undeclared identifier: 'Handle'

当我尝试调用 Application.ProcessMessages 时会发生同样的行为。我认为 Unicode 迁移指南中未列出的某些内容一定已经发生了变化。

“应用程序”的函数和变量去哪儿了?

最佳答案

我的心理调试能力告诉我,这个单元在导入 Forms 之后导入 SvcMgr,因此 SvcMgr< 中的 Application 变量Forms 中您想要的那个带出范围。或者罪魁祸首可能是 WebBrokerCtlPanel

您可以通过在第一个错误处按住 CTRL 单击 Application 变量来确定它是什么,您将进入一个不是 Forms 的单元>.

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

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

关于delphi - Delphi XE 中的 Application.handle 发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5083859/

相关文章:

delphi - 将泛型类型的成员强制转换为 TObject?

delphi - 有哪些解决方案可用于自动执行按键和输入递增文件名?

php - yiic migrate 命令不执行来自模块的迁移

delphi - 如何将一些项目添加到 Delphi IDE 的代码完成组合框中

Delphi - 屏幕键盘 (osk.exe) 在 Win32 上工作,但在 Win64 上失败

delphi - 在 TScrollBox 中显示 DLL 中的表单

xml - 处理无效 XML 的建议方法

asp.net - 从 ASP Classic 迁移到 .NET 并减轻痛苦

database - Catalyst 中的 DBIx::Class 升级(DBIx::Class::Schema::Loader)

Delphi XE3 EXE 文件大小比 Delphi 7 大 25 倍