Wednesday, June 15, 2011

Going back to Delphi 5...

Prior to 2007, I had used Delphi 3, 4, 5 and 7. Without exception, they were all fine releases, generally they were great in themselves, but Delphi 4 in particular excelled in that I could uninstall it, put it back in the box and use it to level an uneven bookcase. Of the four versions, I spent at least five years in Delphi 5 and it was my favorite; it was fast, robust and - together with CodeRush - highly efficient.

Then I installed Delphi 2007 and never looked back.

Until now.

I was recently asked to perform a tidy-up job on some forms in a colleague's Delphi 5 application, so I blew the dust off my backup machine and fired up my old comrade, Delphi 5.

I was quite looking forward to it, almost anticipating a tearful reunion, but it felt more akin to this:

The first thing that struck me was how ugly it was, everything is gray, the graphics are all pre-XP and the floating windows are an abomination.

Also, I had in my mind that it was much faster than D2007, but I could not see any appreciable difference in start-up and compilation times (I even fired up D2007 just to confirm).

But these were not the real problems, I had come here to update a UI and for this, after D2007, it was almost unusable. Really! How did I ever layout a form before BorCoDero implemented alignment lines? Oh that's right, you select each control in turn and check the position and size properties in the inspector and manually move each in turn (you can't even hover over the control because in D5 the hint only shows you the control name - helpful). Or you use the alignment palette, except I kept losing the alignment palette under all the other floating windows. And don't go trying to find a new component, because the component palette doesn't filter. You can search it but it only finds component names that match the start of your query.

I take a lot of pride in my UI design and it is generally quite an enjoyable part of my job. Under Delphi 2007 that is. Going back to D5 was miserable and woefully inefficient (I had set aside a few hours to make the changes and it took a whole day).

You really can't go back.


Anonymous said...

I feel your pain... I happen to have also been regularly working in D5 for over a week now. Usability is awful by comparison to the newer IDE's. Constantly running into RTL functions I've used for years now that weren't in D5 has also been a joy...

Anonymous said...

I've professed this about Delphi 7 for some time too. For folks who never moved past it, they don't know what they're missing. Those who did cannot go back.

I would add that since going to Delphi 2010 or later, I can't go back to Delphi 2007 either. Same deal. Not so much in the IDE or visual designers, but in the code.

Doug Johnson said...

If you love D2007 for UI, wait until you see the next version with FireMonkey, now in beta.

Jolyon Smith said...

Um, just set the grid to a more reasonable 4 x 4 (the default 8 x 8 is useless), turn OFF the "show grid" option (dunno about you, but my eye can judge alignment better without all those dots getting in the way) and design away!

The alignment tools are only needed if you have a whole bunch of controls that need fixing in one go, otherwise it's much easier to line things up visually.

The alignment lines in the form designer are useful as far as they go in the newer IDE's but once the novelty wears off I find them more often annoying (again, my eye is a good enough judge, except for those rare occasions when lining up controls that are FAR apart).

Especially on busy/complex forms - you end up having to interpret a whole slew of dynamic tramlines and try to isolate the ones you are interested in from the ones that you aren't.

And sometimes those alignment lines are downright misleading (text "baseline" guides in particular don't seem 100% accurate to me).

Of all the things to find irksome when returning to an older IDE, I find this surprising.

(and I bet you had a feeling of comofortable and welcome usability spreading from the center of your being if you had to change any project/IDE options - the new options dialogs are a usability nightmare in comparison)

Anonymous said...

As an independent developer I loved working in Delphi 2007, 2010 and XE. Now that I am back working for "the man", I am forced to use Delphi 7. As good as D7 was, it is a pain to do any refactoring or visual designs. Getting them to upgrade to the latest Delphi is like watching grass grow :(

nafdb said...


Would love to upgrade but have too much legacy code built on third party libraries that would require extensive Unicode testing.


Grids: Haven't used grids since pre-Delphi 2007...

Alignment lines: Completely disagree with you! The eye is simply not as fast as seeing that little blue line pop-up when you are correctly positioned (though some controls do require blue-line plus a few bonus clicks ;-). However I suspect you are correct in the text base line, I rarely trust that.

IDE Options: Fortunately those changes weren't made till after Delphi 2007.

Jolyon Smith said...

@nafdb - maybe it's a question of what you are used to. My eyes are plenty quick enough, but now instead of having to quickly see whether two edges are aligned, I have to use those same eyes to filter out the lines that are of no interest and concentrate on the ones that are.

Plus, those lines are not always presented - if you want to line up a left edge against a right edge (or top/bottom) you get no help from those alignment lines.

Of course, you'll most likely spend a bit of time gently nudging your controls a bit, thinking you perhaps aren't quite "in the zone" yet, before you realise that no, you simply don't get THOSE sorts of lines.

As with all such things tho - ymmv. :)

AplĂ­kmUj said...

There is no beauty in D3 to D7 when I remember back. The difference is that the third-parties are a lot more stable today compared to these days (after 10 years - no wonder:)). Remember back ... D5 was the time of the absolute tons of special units and nothing worked. The human brain removes negative impressions. One of the few reasons for D5 to D6 was ActiveX and the steady evolution ... this was one of the drivers these days

D7 is lightning fast on new computers, but I don't use it anymore. The newer versions are ok since EMB evolves the product.

I like the video:)

LDS said...

I did the same a few weeks ago because I needed to access some data from an old app for which I couldn't update the BDE. But although it felt old, it started fast, the editor is much more responsive than the 2007 one, and the help system actually worked, although I run it in a Windows 2000 VM. And you can feel how little BorCodeDero innovated since then, how much time was wasted in silly "adventures", and how much had to be borrowed from VS.
And the alignemnt palette has a "stay on top" option...

Anonymous said...

You my try cnPack free add-ons... it brings several of the functionalities of recent Delphi IDEs to previous versions.

nafdb said...

@Jolyon: In all the time I have spent designing UI I'm pretty sure I have not felt the need to align the top of a control alongside the bottom of another :-o

@CnPack: Thanks, but I'm back in 2007 now and shan't be going back in a hurry

Anonymous said...

I am still working with Delphi 6 every day. I often need switching between projects. Delphi 6 is very fast. And the Help is working very accurate.

CRConrad said...

What, you never found the "Snap to Grid" option in the old versions?

(And yes, as someone said, set the grid size to something more sensible than the humongous default.)

There, done and dusted. HTH! :-)