views:

258

answers:

3

What should I worry about if I move to Delphi 2007 to 2010?

I've checked this article and there was a lot of interesting stuff but not precisely for this jump that I need.

To clarify my question and situation:

  • I have all 3td party components' code.
  • I will need the unicode, but not this year.
  • I need win 7 support - themes, form resize problems and etc.
  • I will be happy to have a decent help system.
  • Is ADO (dbGO) improved?
  • What headache to expect?

Thanks!

+5  A: 

I will be happy to have a dissent help system.

Sorry for you, the help content of Delphi2010 is better than Delphi2007, but far away from Delphi7.

There are many resources about unicode migration, and it is very easy to find.

I will just insist on 3rd party libs which is the difficult part. You have the source code, good, but considering fixing unicode relates issue inside these components is very ambitious !

My advice: Check the compatibility of your 3rd party libs, check your code compatibility - fix all warnings, follow this good white paper from CodeGear : Delphi and Unicode http://edn.embarcadero.com/article/38980

TridenT
I disagree. The online help wiki is very up to date, and the Delphi 7 help, is objectively crappy. Pick a subject to discuss the particulars, and we shall look at it more closely. What was GOOD about Delphi 7 help was that it wasn't adulterated (mixed in) to the MSDN help. Biggest mistake in the history of delphi help.
Warren P
The white paper you linked is excellent. Three parts. Read all three!
Warren P
+1  A: 

I need win 7 support - themes, form resize problems and etc.

You already have themes in Delphi 2007. Not that 2007 is at 100% prepared for Win7 but themes is what important for most users so this is IMHO not argument to upgrate.

I will need the unicode, but not this year.

If you plan to use Delphi 2011 and release Mac version of your software, why not do it step by step and take Unicode headache (?) today? I am not sure of answer, just worrying :-) I am in this situation, already have license for Delphi 2009 but still unused because of Unicode so I am in 2007.

No plans for Mac :) If they create something like Kilyx ... I can't trust them that it will work properly .. - themes - yep we have it kinda - but there are some problems with form resizing and other hidden issues that I did not finished debuging yet. I want to save some time by upgrading to D2010 but I'm not sure what will be more - finding and fixing Win 7 issues or upgrading all to the new VCL? Also if the new IDE make my life easier I would like to use it ... Questions that I have in mind :)
Nik
You HAVE to deal with the fundamental change where String==UnicodeString. Your TEdit, and TComboBox and everything else, are ALL using String properties, which are Unicode now. There is no avoiding this issue. But it's not as bad as you think. You don't have to learn cantonese or latvian, or arabic, and you don't have to internationalize your app at all, just make the code "unicode CLEAN", which means "not broken and crappy and wrong anymore".
Warren P
A: 
  1. A "Beginner" approach to Delphi 7/2007 (ansi strings) ports to 2009/2010 (unicode strings) is to blindly search and replace ALL occurrences of String and replace with AnsiString, similarly, blindly changing all instances of Char to AnsiChar. This quickly reveals itself to be painful, and stupid, and wrong. Thus chastened, the user (without reading the transition guides published by Embarcadero, written by Nick Hodges) will retreat and lick their wounds, and consider sticking with Delphi X forever (where X is in the set of [7,2007,myFavouriteVersionHere]).

  2. The second approach is to download already-updated versions of any components you need, and only update the components you really can't find any newly updated source code for, yourself, and then proceed to updating your application code.

I find that it is worth doing this, if you either sell your application for money, or if you rely on your application to be of some usefulness to you, or your company. It is not only a question of upgrading to handle compiler differences, but upgrading, as you say, to handle platform differences. And not only the platform differences that you are mentioning above, but ones you didn't mention, like UAC, and changes in user-permissions on files and folders, and other priveleges. Does your application require the ability to write to folders inside C:\Program Files, and other things, etc? Those need to be fixed.

If your application is a typical "ball of mud", developed incrementally, and without an elegant object oriented design, and if (as is typical) your app doesn't even really meet the recommended specs that Microsoft published as part of Windows XP, in 2002, the you really have some catching up to do.

If it's all too much for you, you could consider contracting the work out. An expert could probably port the application from an old delphi version, to a new one, in a few hours, and train you how to do the maintenance from that point forward.

Warren P