【问题标题】:How to upgrade from Delphi 2007 to XE2?如何从 Delphi 2007 升级到 XE2?
【发布时间】:2011-11-10 09:17:41
【问题描述】:

我们目前使用 D2007,但正在考虑升级到 XE2。我可以在这里想到两个“更大”的问题 - 从 2007 年到 2009 年的 Unicode 步骤以及从 XE 到 XE2 的整个平台内容(32/64 位,具有指针大小、单元命名空间等的 VCL/Firemonkey)。

AFAIK 如果我们购买 XE2,我们还将获得 D2009、D2010 和 XE,所以我的想法是分两步解决升级问题:

  1. 首先处理 Unicode。我想最好的方法是升级到 XE:我们会有工作泛型等,但与 2007->2009 年的升级相比没有其他问题。

  2. 如果第 1 步完成并且证明它适用于我们的客户,请执行 XE->XE2。

你怎么看?我们应该一步完成整个升级吗?还是两个步骤但使用不同的中间版本?

编辑:我知道 XE2 不会强迫我们跨平台(FireMonkey 可能永远不会成为我们的选择)。我只是想在解决任何与 Unicode 相关的问题时避免像 "XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose" 这样的相关问题。如果我们要让我们的单位在过渡期间与 D2007 和 XE2 兼容,单位命名空间听起来会是一个很大的障碍(或者这是一个坏主意吗?)。

【问题讨论】:

  • 我忍不住想“@Nick Hodges 会说‘既然你用自动化测试保护了应用程序中的所有内容,就不会出错,你应该直接跳到 XE2’”
  • 这不能准确地描述我们的情况。 :-)
  • @HeinrichUlbricht 我很确定尼克永远不会这么说。仅仅因为您的单元测试通过了,并不意味着程序可以工作。你如何测试你的单元测试?
  • 命名空间不是问题。您可以使用别名来确保您的旧代码仍然有效。默认情况下,将为您安排。你必须选择你的毒药。是的,您可能会被 ModalResult 错误击中,但是 XE 中存在并已在 XE2 中修复的错误呢?
  • @David:我在某处读到使用命名空间别名会大大降低编译器的速度。你有经验吗?

标签: delphi upgrade delphi-2007 delphi-xe2


【解决方案1】:

我会直接跳到 XE2。仅仅因为它支持 64 位和 FireMonkey 并不意味着您必须立即使用它们。只需先编写 32 位代码并根据需要进行 Unicode 更新,但在处理指针、内存使用等时要注意 64 位,以尽量减少将来准备处理 64 位时的迁移需求。甚至不用担心 FireMonkey,因为它是一个全新的框架,所以当你做出那个跳跃时,无论如何你都是从头开始的。

【讨论】:

  • +1 我秒这个。直接进入 XE2,但只先处理 Unicode 端口。坚持使用 VCL 和 32 位。一次改变一件事。唯一可能的担忧是,第 3 方供应商现在可能还没有完全的 XE2 支持,但我认为他们现在大部分都在那里。
  • 谢谢你们俩。我编辑了我的帖子(希望 :-))澄清我的担忧。
猜你喜欢
  • 2012-12-05
  • 2011-11-29
  • 2020-04-19
  • 2011-05-28
  • 2010-12-10
  • 2012-08-13
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多