如何从Delphi 2007升级到XE2?

4
我们目前使用D2007,但正在考虑升级到XE2。我可以想到两个“更大”的问题-从2007到2009的Unicode步骤以及从XE到XE2的整个平台问题(32/64位,VCL / Firemonkey指针大小,单元命名空间等)。
据我所知,如果我们购买XE2,我们还将获得D2009、D2010和XE,因此我的想法是分两步完成升级:
1. 首先处理Unicode。我想最好的方法是升级到XE:我们将拥有工作的泛型等,但与升级2007->2009相比没有其他问题。 2. 如果第一步完成并证明对我们的客户有效,请执行XE->XE2。
你认为呢?我们应该一步完成整个升级吗?还是分两步但使用不同的中间版本?

编辑:我知道XE2不强制我们进行跨平台开发(FireMonkey可能永远不会成为我们的选择)。我只是想避免相关问题,比如"XE2中mrAll、mrNoToAll、mrYesToAll和mrClose的值",同时解决任何Unicode相关的问题。如果我们在过渡期间要使我们的单元兼容D2007和XE2,那么单元命名空间似乎是一个相当大的障碍(或者无论如何这都是个坏主意?)。


我忍不住想:“@Nick Hodges会说‘既然你已经用自动化测试保护了应用程序中的所有内容,那么就没有什么可以出错的了,你应该直接跳到XE2。’” - Heinrich Ulbricht
那并不完全描述我们的情况。 :-) - Uli Gerhardt
@HeinrichUlbricht 我非常确定Nick永远不会说那样的话。仅仅因为你的单元测试通过了,并不意味着程序就能正常工作。你如何测试你的单元测试呢? - David Heffernan
@David:我在某个地方读到,使用命名空间别名会显著减慢编译器的速度。你有任何相关经验吗? - Uli Gerhardt
@David 我并不是那么认真。我只是在 T 上关注他后有了某种印象。 - Heinrich Ulbricht
显示剩余4条评论
1个回答

7

我建议您直接使用XE2。虽然它支持64位和FireMonkey,但您不必立即使用它们。首先编写32位代码,并根据需要进行Unicode更新,但在处理指针、内存使用等时要注意64位,以最小化未来迁移的需求,等到您准备好应对64位时再考虑它。不要担心FireMonkey,因为它是一个全新的框架,所以当您跳转时,您将从头开始。


+1 我同意这个观点。直接转向XE2,但只处理Unicode端口。坚持使用VCL和32位。一次只更改一件事。唯一可能的问题是第三方供应商现在可能没有完全支持XE2,但我认为他们现在大多数都已经支持了。 - David Heffernan
谢谢你们两个。我编辑了我的帖子,希望能够澄清我的疑虑。 - Uli Gerhardt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接