5 Things I Like About Delphi 2007

Posted by Kirby Turner on March 25, 2007

Bloggers in the Delphi community have been tagging each other to post 5 things they like about the Delphi 2007. I wasn’t tagged but I want to play so here are my 5 things.

1) Speed - The IDE loads and shutdowns so much faster then BDS 2006. There seems to be other performance enhancements too such as switching between the form designer and code window. The IDE is so much faster that I don’t like going back to BDS 2006.

2) Vista Support - This is a wonderful enhancement. I especially like how existing projects using dialogs and routines such as MessageDlg automatically have a Vista look simply by re-compiling the project.

3) Application.MainFormOnTaskbar - I really like this new property. I’m working on an SDI application that manages windows in a similar way as Microsoft Word and Outlook. Overriding CreateParams and setting the ExStyle isn’t a big deal but having the MainFormOnTaskbar property helps to reduce some code.

Update: Steve Trefethen posted a nice overview of Application.MainFormOnTaskbar.

4) Online Help - I like the new look of the help system and the new navigation between pages is really nice. But I do have one major complaint. Help indexes found in the BDS 2006 help system are missing. For example launch the help system, go to Index, and enter “CreateDir routine” in the “Look for” textbox. The routine is not indexed in the new help system but it is indexed in the previous help system. And this is not the only routine not indexed. It sucks that this sort of information is no longer indexed in the help system.

Update:Delphi 2007 Update 1 fixes my complaint about the online help. Routines such as CreateDir are now indexed.

5) Improved Tool Palette Search - I really like how the tool palette search has been improved to find all matches containing the search word, not just matches beginning with the search word. This is a great improvement for me given that I use a number of 3rd party VCL components that are prefixed (i.e., TcxComboBox).

So that’s my list of 5 things I like about Delphi 2007. But what about the things I do not like about Delphi 2007.

1) “Non-breaking” Release - Well, sort of. The idea is that DCUs and packages from BDS 2006 can be used in Delphi 2007. In general this is true. However, I have encountered a number of problems. For starters Delphi 2007 is having trouble loading certain DevExpress packages at startup. And I have read in the newsgroups there is a painting issue too although I have not personally experienced it.

Update: Turns out the problem was me. I was installing DevExpress packages that weren’t meant for the IDE. After installing the correct set of DevExpress VCL packages my IDE problems went away.

2) Trouble Debugging - This problem has me scratching my head and for the life of me I cannot figure it out. All BDS 2006 projects I have opened in Delphi 2007 will not run under the interactive debugger. I haven’t logged this issue in QC yet because I’m still trying to figure out what is happening. Simply saying “Cannot debug project opened from BDS 2006 project file” does not give CodeGear enough information to troubleshoot the problem. But the problem still remains. I cannot debug existing projects. (Note: I suspect this issue might have something to do with the 3rd party packages such as the ones I’m using from DevExpress.)

3) More Issues with Debugging - From time to time I get a weird error message when I press F9. The message says the debugger cannot create the process. I launch Sysinternal’s Process Explorer and notice the application to debug is running under the bds.exe process and yet the debugger cannot attach to it. To make matter worse I cannot kill the spawned process. I have to close down the IDE to kill it. (Again, I suspect this issue might have somethign to do with some of the 3rd party packages I have manually installed.)

Update: Fixed my Delphi 2007 debug issues.

4) No Support in FinalBuilder (yet) - I use FinalBuilder for all my projects and unfortunately FinalBuilder does not support Delphi 2007 (yet). But according to the newsgroups a new compiler action for Delphi 2007 is in the works.

Update: FinalBuilder now has a Delphi 2007 compiler action.

5) No Support in EurekaLog (yet) - EurekaLog is another 3rd party tool I use, and unfortunately support for Delphi 2007 is not there yet. But good news is EurekaLog should have support in about 2 weeks.

Update: EurekaLog now has Delphi 2007.

I know some of these dislikes are not directly Delphi 2007 but they do prevent me from completely moving from BDS 2006 to Delphi 2007 right now. So Delphi 2007 is still an experiment for me at the moment while I wait for 3rd party support. Meanwhile I’m still using BDS 2006 for production work.

Update: I now use Delphi 2007 daily. Best Delphi IDE in a long time.


Posted in programming. Tagged in .