2011-11-10 74 views
4

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

据我所知,我们还得到D2009,D2010和XE,如果我们买XE2,所以我的想法是,以解决升级分两步:

  1. 先处理Unicode的。我想最好的办法是升级到XE:我们可以使用泛型等,但与2007年 - > 2009年的升级相比,没有其他问题。

  2. 如果第1步完成并已证明它对我们的客户有效,请执行XE-> XE2。

你觉得呢?我们应该一步完成整个升级吗?或两个步骤,但有不同的中间版本?

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

+0

我不能禁止自己想“@Nick Hodges会说'既然你通过自动化测试确保你的应用程序中的所有东西都没有问题,你应该直接跳到XE2'” –

+0

这并不能描述我们的情况**。 :-) –

+0

@ HeinrichUlbricht我很确定尼克永远不会这么说。仅仅因为你的单元测试通过了,这并不意味着程序能够正常工作。你如何测试你的单元测试? –

回答

7

我只是直接跳到XE2。仅仅因为它支持64位和FireMonkey并不意味着你必须马上使用它们。首先编写32位代码,根据需要进行Unicode更新,但在处理指针,内存使用情况等时要注意64位,以便在您准备好处理64位时尽量减少将来迁移的需要。不要担心FireMonkey,因为这是一个全新的框架,所以当你跳跃时你会从头开始。

+0

+1这一秒。直接转到XE2,但只是首先解决Unicode端口问题。坚持VCL和32位。每次更改一件事。唯一可能的担忧是,第三方供应商可能现在还没有完全支持XE2,但我认为他们目前大部分都在那里。 –

+0

感谢你们俩。我编辑我的帖子(希望:-))澄清我的顾虑。 –