Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any hints for those that want to upgrade from Delphi 7 (and down) to Delphi 2010?

Tags:

unicode

delphi

I am interested to re-evaluate Delphi 2010. The main issue seems to be the ascii to unicode conversion. Any tips or resources about this that you have found useful?

Many thanks.


Edit:

At this point my recommendation for those that want to upgrade would be:

http://www.embarcadero.com/images/dm/technical-papers/delphi-in-a-unicode-world-updated.pdf
Is WideString identical to String in Delphi 2009
What is the compiler version for Delphi 2010?
http://chee-yang.blogspot.com/2008/10/delphi-2009-unicode.html

GIF issues:
Note that Gif (by Melander) and Png (by Martijn Saly?) images are now incorporated in Delphi 2010. You will have to use a conditional in order to use the right GIF unit:

USES Windows, SysUtils, Graphics, blabla
{$IFDEF VER150}
  , GIFImage,     {Delphi 7}
{$ELSE}  
  GIFImg          {Delphi 2010}
{$ENDIF}; 

Also you need to "fix" the PNG provided by Embarcadero: http://talkdelphi.blogspot.com/2009_03_01_archive.html

Other things that you need to know is that you really have to backup your project before opening it in Delphi 2010. Delphi 2010 will change your DFM file even if you don't press the Save button. The form will lose data and it will not compile in D7.


UPDATE Delphi XE

I have finally purchased Delphi XE. Delphi XE proposes some new features but, unfortunately, quite few of them are not working at all (background compilation, UML modeling, code insight, etc). Other features have been downgraded (the help and for example).
The IDE is also not as stable and fast as Delphi 7 and the tool bar has real problems (better don't customize the IDE). There is also a nasty bug where the IDE has 100% CPU utilization (see my other posts about all these issues). I hope that in Update 2 and 3 they will fix some of the most stringent issues.

Anyway I think I upgraded too soon because now Embarcadero announced the 64 bit compiler so probably I will have to pay again a lot of money to upgrade to the next version of Delphi in order to get that compiler. For those that are still thinking to upgrade to Delphi XE I would recommend to trial Delphi XE HEAVILY. Conclusion:

  • Delphi XE brings LOTS of new features, but obviously you won't be using ALL of them.
  • The stability of the IDE is not better.
  • It helps you build more up to date applications (modern UI open/save dialog, application manifest).
  • Support for unicode.

UPDATE Delphi XE7

The difference between XE and XE7 was not that huge as the upgrade from Delphi 7 to XE. The IDE is as stable as before (lots of crashes and random access violations in RTL).


UPDATE Delphi Rio

Considering the amount ot years since the last update, I could safeely say that difference between XE7 and Rio is barely visible - except for those that are interested in cross platform apps (Mac, Android but not Linux!).

PROS

  • True high DPI support (really Embarcadero? after so many years?).
  • IDE does not crashes so often as it used to crash in XE7.
  • VCL themes finally (seem to) work.
  • Most stable IDE until now (still crashes if you open a project group with more than one project in it).
  • Almost full cross-platform support (you need to purchase the more expensive Architect version to get Linux). Fortunately, for me this is a bit to late. The projects were I needed cross-platform were already started under Lazarus.
  • Upgrading the code was super easy.

CONS

  • Some HIGHLY advertised features like dark themes don't work at all!
  • The Insight still buggy: new language features (like declaring inline variables) not supported by the IDE (the code will have that wiggled underscore red lines). This issue will probably never be fixed.
  • Another super annoying IDE issue is that the compiler will still show the last hints/warnings/errors EVEN after you fixed them. Looks like the log data remains in some kind of cache.

Overall it is the most stable IDE until now, but still I wonder (especially if compared to Lazarus) if it worth that pile of money.


Conclusion over the years:
Delphi is such a nice and clean language. And the Delphi compiler speed makes any C++ compiler to look like a toy for kids.
I still feel ashamed people look down on me when I say that I am a Delphi developer. Delphi as a language is extinct now. Just look for Delphi jobs in Germany and only 74 positions are listed (but most of them are mixed with C# and others). C++ has over 1500 positions! Borland and Embarcadero helped a lot to kill Pascal. They do offer a free (even though crippled) version of Delphi now, but the damage was done. It is to late to resurrect Delphi now.

I think three main issues lead to this state:
1. Borland abandoned Delphi (Delphi lagged behind compared with other languages).
2. Embarcadero took over but disrespected the customers (over-buggy, over-expensive product).
3. MAIN ISSUE: The language was not promoted (at all) over the years. No sane company will spend thousands of dollars for a license of an already dying language. And the lack of a free license TOTALLY outcast the new generations of programmers.

Therefore we are are we are: on StackOverflow, wondering each year if worth investing money in a new Delphi license.

like image 958
Server Overflow Avatar asked Apr 30 '10 16:04

Server Overflow


1 Answers

We have created a web page specifically for this very issue:

http://www.embarcadero.com/rad-in-action/migration-upgrade-center

There, you can find webpages, documents, webinar replays, etc. which all cover the issue of migration.

The first thing people say is "I have a huge codebase, and migrating to Unicode will take forever" and almost without exception they discover that "forever" really is a much shorter period of time than they originally thought and that the new features of Delphi 2010 make it all worth it.

like image 178
Nick Hodges Avatar answered Oct 02 '22 21:10

Nick Hodges