如何从Delphi 2007升级到XE2?
我们目前使用 D2007,但正在考虑升级到 XE2。我在这里可以想到两个“更大”的问题 - 从 2007 年到 2009 年的 Unicode 进步以及从 XE 到 XE2 的整个平台内容(32/64 位、VCL/Firemonkey 以及指针大小、单位命名空间等)。
AFAIK,如果我们购买 XE2,我们还会获得 D2009、D2010 和 XE,所以我的想法是分两步处理升级:
首先处理 Unicode。我想最好的方法是升级到 XE:我们会有工作泛型等,但与 2007->2009 的升级相比没有其他问题。
如果步骤 1 已完成并且已表明它适用于我们的客户,请执行 XE->XE2。
你怎么认为?我们是否应该一步完成整个升级?或者两个步骤但使用不同的中间版本?
编辑:我知道 XE2 不会强迫我们跨平台(FireMonkey 可能永远不会成为我们的选择)。我只是想避免相关问题,例如 "mrAll、mrNoToAll、mrYesToAll 的 XE2 值和 mrClose",同时解决任何 Unicode 相关问题。如果我们要在过渡期间使我们的单位与 D2007 和 XE2 兼容,单位命名空间听起来会是一个相当大的障碍(或者无论如何这是一个坏主意?)。
We currently use D2007 but are considering an upgrade to XE2. I can think of two "bigger" issues here - the Unicode step from 2007 to 2009 and the whole platform stuff from XE to XE2 (32/64 bit, VCL/Firemonkey with pointer sizes, unit namespacing and whatnot).
AFAIK we also get D2009, D2010 and XE if we buy XE2, so my idea was to tackle the upgrade in two steps:
First deal with Unicode. I guess the best way to do this is to upgrade to XE: We would have working generics etc. but no additional issues compared to an upgrade 2007->2009.
If step 1 is done and has shown that it works for our customers do XE->XE2.
What do you think? Should we do the whole upgrade in one step instead ? Or two steps but with a different intermediate version?
Edit: I'm aware that XE2 doesn't force us to go cross-platform (FireMonkey probably never will be an option for us). I just want to avoid related issues like "XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose" while fighting any Unicode related problems. And unit namespacing sounds like quite a hindrance if we were to make our units compatible with both D2007 and XE2 during the transition (or is that a bad idea anyway?).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会直接跳到 XE2。仅仅因为它支持 64 位和 FireMonkey 并不意味着您必须立即使用它们。只需首先编写 32 位代码,然后根据需要进行 Unicode 更新,但在处理指针、内存使用等时请注意 64 位,以便在准备好处理 64 位时最大限度地减少未来迁移的需要。甚至不用担心 FireMonkey,因为这是一个全新的框架,因此当您进行跳跃时,无论如何您都会从头开始。
I would just jump straight to XE2. Just because it supports 64-bit and FireMonkey does not mean you have to use them right away. Just write 32-bit code first and do your Unicode updates as needed, but be mindful of 64-bit when dealing with pointers, memory usage, etc to minimize the need for future migrations when you are ready to tackle 64-bit. Don't even worry about FireMonkey, as that is a completely new framework, so you would be starting from scratch anyway when you make that jump.