title: How to upgrade from Delphi 2007 to XE2?
body: <p>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).</p>
  
  <p>AFAIK we also get D2009, D2010 and XE if we buy XE2, so my idea was to tackle the upgrade in two steps:</p>
  
  <ol>
  <li><p>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.</p></li>
  <li><p>If step 1 is done and has shown that it works for our customers do XE->XE2.</p></li>
  </ol>
  
  <p>What do you think? Should we do the whole upgrade in one step instead ? Or two steps but with a different intermediate version?</p>
  
  <p><strong>Edit:</strong> 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 <a href="http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:5029" rel="nofollow">"XE2 values of mrAll, mrNoToAll, mrYesToAll and mrClose"</a> 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?).</p>