简体   繁体   English

Delphi 32到Delphi XE2(64位)转换

[英]Delphi 32 to Delphi XE2 (64 bit) conversion

I'm looking at migrating a Delphi 2007 business applications to 64 Bit using Delphi XE2. 我正在考虑使用Delphi XE2将Delphi 2007业务应用程序迁移到64位。 I wanted to know if there are any guidelines which will help to developers or companies, who are considering migration of there Delphi applications to 64 bit with Delphi XE2. 我想知道是否有任何指导方针可以帮助开发人员或公司,他们正在考虑使用Delphi XE2将Delphi应用程序迁移到64位。

Any help in this regard will be highly appreciated. 在这方面的任何帮助将受到高度赞赏。

Here is my advice. 这是我的建议。

  1. First of all port the application to 32 bit Unicode. 首先将应用程序移植到32位Unicode。
  2. Then, port to 64 bit. 然后,端口到64位。

I would expect step 1 to be harder than step 2. For step 1 there is Marco Cantù's Unicode whitepaper . 我希望第1步比第2步更难。第1步有MarcoCantù的Unicode白皮书 I'm not aware of anything similar yet for 64 bit. 对于64位,我还没有意识到类似的东西。 I strongly urge you to keep these two porting tasks separate. 我强烈建议你将这两个移植任务分开。 Smaller independent tasks are always easier than one bigger combined task. 较小的独立任务总是比一个更大的组合任务更容易。

Regarding the 64 bit port I can think of the following issues to deal with: 关于64位端口,我可以考虑以下问题来处理:

  1. All 3rd party libraries need updating. 所有第三方库都需要更新。
  2. All inline assembler will need attention. 所有内联汇编程序都需要注意。
  3. Access to Windows API functions need looking at. 需要查看对Windows API函数的访问。 A common idion is to pass Integer(MyObject) . 常见的习惯是传递Integer(MyObject) That needs to be replaced with NativeInt(MyObject) . 这需要用NativeInt(MyObject)替换。

Other than that I don't think there is much to be concerned about. 除此之外我不认为有太多值得关注的问题。 The Unicode port is likely to be far more problematic. Unicode端口可能更成问题。

Barry Kelly's answer here puts some more flesh on this. 巴里凯利的答案在这里提出了更多的内容。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM