Thursday 25 June 2009

The road to Delphi 2009 - Part 1

OK, so I started with the easy stuff. Installing third-party components.

Raize Components - Check
TMS Component Pack - Check
ReportBuilder Enterprise/Server - Check

OK, these were easy because they were designed for Delphi 2009.

ODBCExpress - Oh. Well, according to its lead developer Pieter Myburg on the support newsgroup, "we have stopped active development of ODBCExpress, and we won't be porting it to future versions of Delphi ourselves".

The last support was for Delphi 2006 which, as I understand, compiles fine in Delphi 2007 as that was a non-breaking release. But not Delphi 2009, oh no. So if anyone out there has any experience with bringing this component set up to Delphi 2009, I would love to hear from you. Without this, we're stumped. It'd be a case of going back through 10 years of software and rewriting it to use dbExpress or ADOExpress. And I seriously don't think we can afford that time.

By the way, bearing in mind I have come from Delphi 6 and have only seen screenshots of the IDE from Delphi 2005 onwards, I really like the IDE. Although I seem to have less code editing space because of all the other (really very useful) palettes that surround it.

7 comments:

Mohammed Nasman said...

Maybe you can move to UniDac from Devart, they are supporting five major databases, and I heard somewhere they will adding ODBC drivers support in future.

Also Devart known to be larger and stable company more than many of small Delphi third-party vendors.

Warren said...

So it's commercial (ODBCExpress) but they aren't actively developing it any more? Why don't they open source it then? Who's going to buy a product that doesn't work with a version of Delphi unless it was made 4 years ago or more? :-)

You have two choices: learn to port it yourself, which may not be that hard, or pay someone to do it.

Database layer component changes are many. There is a list of maybe 100 things you need to know, and the easiest way to learn them is to start by trying to build the packages, and fixing the code, one compiler error at a time. Once it compiles, you'll probably have to find a few "it compiles but it crashes" type problems, and then you'll be good.

I ported a lot of database code from old versions to the current version. I suggest you ditch ODBC and move to a new product. Do you really want to be using a large codebase you don't understand that isn't supported actively anymore? I sure wouldn't bother keeping it around. Port to something new. dbExpress beats ODBC or BDE hands down.

W

Anonymous said...

Small note on the many useful palettes that surround the editor. The many ways in which they can be pinned, unpinned and arranged makes them less of an issue.

I don't remember if the older Delphi versions also had the desktop combo next to the help menu? By configuring a few practical layouts and assigning a good one as debugging desktop you can pretty much have lots of tools and lots of editor space as needed.

Jolyon Smith said...

"I don't remember if the older Delphi versions also had the desktop combo next to the help menu?"

As far back as Delphi 5.0, at least (I don't have older IDE's on the machine I'm at right now)

fwiw - I'm finding the 2009 IDE no worse than the previous free floating IDE, but certainly no *better* either, and there are still some things that are annoying.

Overall fully docked is definitely less useful (read: flexible/usable) on a multi-monitor rig (Borland aped Microsoft by going fully docked, and it's amusing that Microsoft themselves recently admitted this shortcoming of their IDE).

And yes you can configure it undocked but in that mode it seems less stable to me.

It's also ironic that things have to be added to the IDE as a result that previously weren't needed.

I'm thinking for example of the request, recently blogged about (link not to hand, sorry) to add screen resolution wireframes to the embedded form designed.

With an undocked form designer you can of course put such guidelines on your own desktop simply by having a "development guides" wallpaper as your desktop background!

The new project options and IDE options dialogs are also truly abyssmal. A huge step backwards in those areas I'm afraid.

And the new tool palette still sucks, not just in it's design and operation but the needlessly updated component imagery that in many cases is not just new and unfamiliar but plain confusing and misguided.

Sure, a TLabel has the word "label" in it's name, but the control doesn't look like baggage/postage label!!!!

Anonymous said...

I run D2006 in "docked" mode n a multi-monitor set up OK, other than some odd behaviour with form sizing/maximising

Some useful things - you can make good use of the "New Edit Window" option, and move the new edit window to another monitor.

Docked windows don't need to stay docked - I also often drag docked windows (e.g. find reference, call stack, Object inspector) off the docked form onto the second monitor

Unknown said...

Thank you for your comments. I certainly agree about tryig to get ODBCExpress to go Open Source if they are not going to continue to develop it. I know they still sell it, with source, so I don't know how receptive they will be, but it is worth asking. I believe it has a large enough user base to be picked up and run with.

If we did move away, I wouldn't move to another third-party vendor. As much as it would be an effort to port all the database stuff across to any other tool set, I'd stick with an out-of-the-box solution this time, like dbExpress. Unfortunately the only out-of-the-box solution available when we started with Delphi 5 was the BDE, which was a no-go for me (and thank God as they deprecated it). Mind you, that's not to say they won't do the same with dbX in the future but they seem to be forward developing it at the moment.

Chris said...

You can zoom the editing window to full screen with a registry hack - useful if like me you take your project on a small screen NetBook. I really need to get away from work more.

http://www.gumpi.com/Blog/2007/12/12/FullScreenEditorInDelphi2007IDE.aspx

There are a lot of other little annoyances in 2007 which seem the same in 2009 though. For example in D5 (I don't have D6-2006) you highlight a component, click on the name property and then change it. Click on another component and the Name property stays selected - useful if you drop controls on a new form and then go through naming them - what do you mean you don't name them ? In D2007 this works as well. Except if you have the TFont property expanded in which case the TFont Name property is selected.

Another is that I sometimes find my environment will randomly switch from docked to undocked when I start the IDE - I load my default layout to set it back.

And the WSDL Importer still barfs too often when loading a webservice. Quite often VS (even 2005) will happily import the same service and make it work.

Many annoyances but the main one is the price. Given C# 2008 Express has few limitations and is free the cost is hard to justify unless you want pure native Windows with no .NET.

Good luck with your DB components, it will be interesting to see which way this goes.