简体   繁体   English

如何从Delphi 2007升级到XE2?

[英]How to upgrade from Delphi 2007 to XE2?

We currently use D2007 but are considering an upgrade to XE2. 我们目前正在使用D2007,但正在考虑升级到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). 我可以想到两个“更大”的问题 - 从2007年到2009年的Unicode步骤以及从XE到XE2的整个平台(32/64位,带指针大小的VCL / Firemonkey,单位命名空间等等)。

AFAIK we also get D2009, D2010 and XE if we buy XE2, so my idea was to tackle the upgrade in two steps: 如果我们购买XE2,AFAIK我们也会得到D2009,D2010和XE,所以我的想法是通过两个步骤来解决升级问题:

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

  2. If step 1 is done and has shown that it works for our customers do XE->XE2. 如果步骤1完成并且已经证明它适用于我们的客户,请执行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). 编辑:我知道XE2并没有强迫我们跨平台(FireMonkey可能永远不会是我们的选择)。 I just want to avoid related issues like "XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose" while fighting any Unicode related problems. 我只是想避免相关问题,如“mrAll,mrNoToAll,mrYesToAll和mrClose的XE2值”,同时解决任何与Unicode相关的问题。 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?). 如果我们在转换期间让我们的单元兼容D2007和XE2,那么单位命名空间听起来是一个很大的障碍(或者这是个坏主意吗?)。

I would just jump straight to XE2. 我会直接跳到XE2。 Just because it supports 64-bit and FireMonkey does not mean you have to use them right away. 仅仅因为它支持64位和FireMonkey并不意味着你必须立即使用它们。 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. 首先编写32位代码并根据需要进行Unicode更新,但在处理指针,内存使用等时要注意64位,以便在准备好处理64位时最大限度地减少将来迁移的需要。 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. 甚至不用担心FireMonkey,因为这是一个全新的框架,因此无论如何当你跳跃时你都会从头开始。

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

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