The new face of Delphi

Borland releases Delphi 5. Do the changes make the grade?

The most common question people ask me about Delphi 5.0, the latest release of Borland's integrated development environment, is about its stability. After a rather buggy Delphi 4.0 release, Borland has likely done enough bug-fixing this time around to ensure a solid product. 

Sure, I've crashed Delphi 5, particularly when debugging in Windows 98. Of course, you never know if it's the fault of the OS or the debugger. I've bumped into a few other difficulties with the IDE as well, but I've always been able to save my source code files. In such cases I rebooted Delphi more as a precaution than a necessity. I've been able to run heavy-duty Delphi tasks for an entire day without a glitch, despite the presence of some clunky wizards and tools that I had installed in the IDE. I've heard reports of angry users who have experienced frequent crashes with the new Delphi, but I haven't run into many problems. 

The IDE facelift

The user-interface of the Delphi 5 IDE has many new features, but, as with any UI element, you might not like them all. I don't care for Delphi 5's new desktop icon, but I do like the more professional splash screen and the about box image.

I can't get accustomed to viewing the properties in the "new" Object Inspector by category; I prefer standard alphabetical order. To me, categories are useful only for filtering out the Legacy properties (basically Ctrl3D and the OldCreationOrder). I'd also like to filter out the Locale properties, but since they also show up under the Localizable category, this filter has little value. The Object Inspector's owner-draw drop-down combo box is worthwhile, but is useful only when you have to select an image out of an ImageList. When setting the ImageIndex of an object, you can now see and select the actual image instead of just a number. I hope third party writers will find new and creative uses for this feature.

I like Delphi 5's capacity to save the status of the desktop windows. I've developed three basic configurations: visual programming, writing plain code (with no form designer on view), and debugging. The system's ability to toggle on the debugging windows as soon as I hit the Run button is one of the greatest time savers in this version of Delphi. 

Among the other changes in the IDE is that the old Object Browser has now been partially transformed into the Project Explorer (I say "partially" because the menu item used to invoke it still has the old name.) This tool can now list the classes of your source code and show their details even before compiling the project.

The Integrated Translation Environment is very useful for localizing your Delphi applications and deploying them in different languages. The ToDo List is a great tool for tracking the progress of a single person or an entire team in developing and debugging a project. The ToDo Items window automatically scans the source code of the entire project, looking for ToDo comments and the project's special ToDo file. Its visual support is outstanding.  I'm using the list frequently with my projects. 

Debetter debugging

There are tons of other new features in the IDE -- including the ability to disable the automatic form creation and to save DFM files as text -- but the area in which I've seen the most improvements is the debugger. I like being able to define a breakpoint action other than breaking the execution. You can now send a message to the Events view (similar to the OutputDebugString call) and can also log the result of an expression. You can even call a function that generates a side effect. Breakpoints can enable and disable other breakpoints, so you can write complex breakpoint sequences. In other words, you program the breakpoints.

There are several other valuable new features of the Delphi 5 integrated debugger: the new FPU view, dragging variables to the watch list or the evaluate/modify window, running a method until it returns, and integrating the VCL debugging DCUs into your project more easily.

What's doin' in the data module

Another area of the Delphi 5 IDE that has been greatly improved is the data module. You can now visually arrange the components in a tree, dragging a table from one database alias to another. You reach the persistent fields much faster than when using the fields editor and immediately see the incomplete elements. The tree view is a powerful tool that is very handy for navigating among the non-visual components of a data module.

The diagram view provides you with a limited graphical tool for creating and displaying the relationships among the components of the data module. You can drag a property connector from one component to another to hook them up. Drag a master-detail connector between tables to join them. And you can even add your own comments, change the colors, and alter the line paths and the label's position. The only snag is that if you want to connect the components of a large data module, you'll probably need a large monitor and a good printer.

The data module designer relates to data in terms of non-visual components, but is not limited in any way to database data. For example, you can add a menu, an image list, and an action list to a data module, connect them, add specific actions and menu items, and move them all to the diagram view. In the case of web data modules, you can connect producer components to web actions and data sets.

IDE say there's more to it

The IDE isn't all that's new in Delphi 5. There have been extensive changes in the VCL, Web support, MIDAS, and database access areas and there are countless new, more minor features. 

The IDE, though, is what counts to programmers. It's our everyday tool, and the more powerful it is, the faster and smoother the coding process becomes. Delphi 5 IDE has much to offer. It's a great leap forward for the many Delphi developers who have used version 3.

If you find, however, that Delphi 5 still doesn't meet your needs, you can super charge it using third party tools. I've written a few simple ones, you can refer to the free GExperts collection, or try the all-encompassing CodeRush from Mark Miller. And as soon as you get your copy of Delphi 5, try out the new 3D developer's list by opening the about box and typing the usual combination (Alt+Team) or the new one (Alt+Jedi).

Happy coding.

Originally written for InPublishing LLC for publication by Inprise Corp. Copyright 1999 Inprise Corp.