我们有一个大型的Delphi XE代码库,我们想要将其移植到64位平台上。
我拥有Delphi XE2许可证,但我找不到任何警告或提示,可以帮助我检测在64位平台下可能导致数据丢失的有效32位结构。例如,在32位编译器中完全有效的THandle到Cardinal赋值,在编译Win64时不会引发任何警告。
当使用Delphi 2009进行Unicode迁移时,我们有大量警告,这些警告帮助我们跟踪和修复可疑的代码。但是在XE2中,我找不到任何东西。我无法想象没有集成在编译器级别上的任何内容来避免我们手动审查所有代码。
我错过了什么吗?如果您尝试过,那么您是如何将项目移植到64位的?
谢谢!
我拥有Delphi XE2许可证,但我找不到任何警告或提示,可以帮助我检测在64位平台下可能导致数据丢失的有效32位结构。例如,在32位编译器中完全有效的THandle到Cardinal赋值,在编译Win64时不会引发任何警告。
当使用Delphi 2009进行Unicode迁移时,我们有大量警告,这些警告帮助我们跟踪和修复可疑的代码。但是在XE2中,我找不到任何东西。我无法想象没有集成在编译器级别上的任何内容来避免我们手动审查所有代码。
我错过了什么吗?如果您尝试过,那么您是如何将项目移植到64位的?
谢谢!
THandle
不再映射到integer
,而是映射到NativeUInt
(在 Win32 下只是一个cardinal
)。这可能有助于识别问题。 - Arnaud Bouchez