I'm gathering issues upgrading from earlier versions to Delphi 2007

NOTE: The focus here is on the process of upgrading applications not simply upgrading the IDE.

If you’ve upgraded from any earlier version of Delphi to Delphi 2007 please leave a comment here as to what, if any, issues you encountered porting exsiting applications. I’ll work to collect them and get them organized and more searchable so more people can benefit.

Please try to include as many specifics as possible. If you’d rather send me an email at strefethen at codegear dot com and I’ll integrate that as well.

I’m interested in issues related to things like:

  • Installation/configuration
  • RTL source code related changes
  • VCL component changes which may affect older applications
  • OpenTools API changes
  • Rebuilding 3rd Party component libraries
  • Recompiling existing applications

19 thoughts on “I'm gathering issues upgrading from earlier versions to Delphi 2007

  1. When using the IDE in non-Embedded Designer mode (option cleared), the form windows stay on top of the code windows all the time, even when the code window has focus. Almost like the form designer is in "stay on top" mode.

  2. Designer interfaces in 3rd party components have been causing the biggest headaches for me when upgrading from D5-D7 and again when I started porting to 2006 (which I never completed…) I prefer to rebuild packages from source rather than get an upgrade from the vendor because you never know what breaking changes they may have introduced in their own "upgrades". If Delphi’s designer interfaces could stabilize, that would make me much less likely to skip multiple versions.
    The only problem I remember from when I last ported was a with-statement resolution that silently resolved to a different (new) property in the new version. Of course we all know what the permanent solution to THAT is…

  3. I ran into the following issues when converting (all reported in QC and open by now)
    – all my apps failed to load and save files properly because of QC 44401 (FilterIndex for common dialog)
    – some project compiled different than expected since conditionals were not recognized (QC 44064)
    – had problems installing VirtualTreeView because of QC 44404 (name of DCR and unit are equal)
    Despite that the move was pretty smooth, that is after waiting for 3rd parties which I still had to do although this is a supposedly non-breaking release.

  4. I have an application that I was compiling with Delphi 2006. It used dbexpress and worked just fine. After recompiling with Delphi 2007, I occasionally get some strange error messages like "DBX – 496". If there is a table of what these error messages mean, that would be cool.

  5. TntOpenDialog and TntSaveDialog fail on Vista when UseLatestCommonDialogs = True. The savedialog will be shown for both TntOpenDialog and TntSaveDialog and the Execute function returns False.
    The changes for MainFormOnTaskBar (QC42758, Focus problem for applications that use a splash form / missing entry in taskbar) were the biggest issue for me. Fortunately I could patch Forms.pas otherwise this would have been a showstopper.

  6. As we were told that 2006 and 2007 were binary compatible, I made the mistake of just pushing my components from 2006 into 2007 with a registry tweak.
    The fact that 2006 and 2007 use a different TeeChart package caused a lot of bizarre problems. Because of the "non breaking binary compatibility", the D2007 would load the old TeeChart BPL and then fail to load the new TeeChart BPL. It would get seriously psychotic about it in fact.
    I ended up having to rebuild all my packages after FINALLY tracking down why it would load teechart and then refuse to load teechart – very bizarre.
    Probably my fault for trying to take a shortcut, but I gotta say that I wish this had been a FULLY breaking change because of the TeeChart issues. I’m betting this will eventually cause strange behaviour in apps that are deployed with packages if 2 required packages try to load differing versions of teechart.
    Aside from that, 2007’s new behavior of creating build folders caused serious rebuild havock when I hadn’t had all my folders specified, so once I did, I had multiple versions of BPLs in different path locations, causing some bizarre behaviour similar to the Teechart problem.
    I don’t want and never use the default build targets. In past versions, I would delete the default projects folder and if the system tried to put something there, it would warn me that the folder doesn’t exist. Now the system just builds the targets anyways. I ended up having to track down the make delphi.target file to remove that behavior. I would like to see that permanently removed or turned into optional folder creation, as it can easily lead to multiple version conflicting copies of a BPL.

  7. I’m having issues porting an Intraweb 7 (Delphi 7) to a VCL for the Web application. I’m not sure where to report them (Atozed or CG).
    Problem 1: Z-Index behaves different;
    Problem 2: Releasing a form has changed: the reference to the usersession instance returns nil in the OnDestroy event of a form.
    Problem 3: I get this ‘property DesignMode does not exist’ error when opening a form, even after saving all forms/projects.
    Problem 4: I test/debug my IW apps with the IW webserver, but deploy on a IIS server. When I open both the IW and the IIS project in the project manager things behave strange. Both projects use the same units exept for the project file.
    Thx for asking.

  8. Moving from D7 to D2007 went fairly smoothly. The only porting issue I noted was that if I just moved the source to a new folder, deleted all the DCU files and opened the DPR in D2007, there was a problem saving settings in project options (the various path values like Output Directory and Unit Directory wouldn’t stick when switching between Debug and Release Build Configurations or saving). I had to do the following:
    1. Copy all D7 project files to a new D2007 project folder.
    2. Delete all DCU, DDP, DSK files.
    3. Open DPR project in D2007, Save All, Close All.
    4. Delete CFG and DOF files.
    5. Open DPROJ project in D2007 and set correct paths in project options, Save All.

  9. Upgrading from Delphi 7 to 2007 confronts me with a lot of designer issues with visual form inheritance and frames. We use these concepts a lot, and seems like some things are broken in D2007 (like they were in D2006 as well):
    – I have a frame defining a toolbar, where the glyphs come from an imagelist on a seperate datamodule. When I put this frame on a form, the glyphs are not visible. Works fine on D7.
    – Navigating arround with frames which are nesting other frames, and are inherited, are causing access violations in the IDE. Works fine in D7.

  10. Other issue with the MSBUILD configuration: we use environment variables to define our search paths to make the code compatible between different developers. So set environment variable MYLIB=C:\Code\Library, and use search path in project like $(MYLIB)\Components. This works fine in the IDE, but does not work with the generated MSBUILD file on the command line, as the environment variables are not expanded properly.

  11. Hi Ilse,
    I recommend logging issues related to IW with Atozed Software. They’ll ultimately be responsible for fixing issues related to IW as there is no IW development here in Scotts Valley.

  12. I’m migrating a Delphi 7 application with a rave project to a Delphi 2007 one.
    Executing the report I obtain EFOpenError exception with message:
    I need 3 things: rad data, show data and print data often in web applications.
    Delphi 2007 is quick and confortable but Reporting tool isn’t good enough.

  13. Migrating from D2 to D2007 worked fine, except for the QuickReports that behaved strangely, complaining about frame.color not existing. Also, the TeeChart components did not display the chart component for QuickReports, and when I tried to compile the relevant packages Tee8QR4D11.dpk and DclTee8QR4D11.dpk as recommended by Steema, the compiler complained (and still do) about the T8QR4D11 unit as ‘not found’. OK, we have 2 third party suppliers involved here, but I wish somebody would invent a more easy package installation technique, e.g. where ALL components from the supplier are installed automatically.
    I also had some initial problems with a Data Module which seemed to disappear when the IDE was closed and reopened.
    And, oh yes: Is there a way to get the help system filtered for Delphi as default?

  14. Hi,
    We have our application code in Delphi 3.0. We have used various thrird party components in the project like Orpheus, Shazam reports, Ace Reports, etc., Now we are planning to migrate the delphi version to 2007. Can any one please tell me if we can migrate this or any show stoppers for this migration ???
    Any ideas /suggestions are appreicated. It will help us to think in that direction.. Thanks for all the help.

  15. Hi, I’m not to surer if you will be able to help, however I have been experiencing problems recently with Delphi 7, When ever I start up a new project / form etc and try to either open a previous project or save a new project Delphi immediatly Closes..Would you have and advice on how to solve this problem? Help will be greatly appreciated.

  16. TFrame problem while moving from 7 to 2007.
    In our projects the font name property of a TFrame is never specified (ParentFont = True) this never led to any problems in D7.
    D2007 uses Tahoma for these frames even when they are embedded. Also the height and top positions of controls on these frames behave crazy at runtime (not scaled to parent, scaled to frame designsize, larger font pushes aligne controls down etc etc: unworkable).
    Explicitly set the frame font name. Now all sizing problems disappear!
    How does D2007 choose Tahoma as a default? (does it depend on the pc settings? can I set the default?)

Comments are closed.