Thursday, 9 July 2009

The road to Delphi 2009 - Part 1 (iii)

Still calling this Part 1 (Act 3) as I'm not actively pushing anything forward until I've overcome the ODBCExpress hurdle. I've had some positive steps forward with this.

I have been in regular contact with Pieter Myburg, its original author. Even though he is no longer actively developing it, he has very helpfully made some changes to 3 files that allow the packages to compile and install into Delphi 2009.

Even more helpfully, he has agreed to Open Source it and is looking for moderators. I have agreed to help (as has another user this morning) but we need more, as I can't honestly say with full confidence what I know what I'm doing with the code! I don't want to give out his email address on a blog but the newsgroup for ODBCExpress is news.korbitec.com.

So now I can connect my data and view it. I've already noticed that nvarchar fields (SQL Server) display with non-printable characters so that is my first area of investigation.

I have also come across another peculiar one. If I connect within the IDE, everything displays in a DBGrid. If I run the executable, when the database connects, the debugger pops up and shows me the CPU Window on ntdll.DbgBreakPoint. This used to happen to me in Delphi 6 when I pressed F12 in my software, which I understand was a bug left in the IDE. However, this happens when the database connects so I'm guessing it must be something in code.Whether that is ODBCExpress code or native VCL code, I'm unsure.

Slowly moving forward.

Wednesday, 1 July 2009

The road to Delphi 2009 - Part 1 (reprise)

So I haven't really got any further yet because I'm waiting to hear back from the author of ODBCExpress whether or not he will look to upgrade the packages for Delphi 2009. He's emailed to say he is "looking into it". From the newsgroup I can see I'm not the only one crossing my fingers.

If he doesn't then D2009 will be put on hold while I port 10 years of software to another database connectivity tool, so I can even open it in D2009. If he does, well then we'll be all set for moving onwards.

After I posted about having less screen real-estate, I found that using the push-pins gave me my entire screen. Nice touch. Those palettes now float into view if I need them, otherwise they float away. Very nice.

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.

Tuesday, 23 June 2009

Bit the bullet: Delphi 2009!

So, I finally bit the bullet and purchased a Delphi upgrade, to D2009. The offer was too tempting and I have started to become frustrated with being left too far behind with Delphi 6.

Thanks to one of the distributors in the UK, Grey Matter, we got the D2009 upgrade for 20% off. This was a promotion they were running for those who didn't want to take advantage of June's "Buy Delphi and get RAD Studio free" promotion. Apart from a slight, but only curious interest in Delphi Prism, there wasn't enough to tempt me, in these economic times, to not take the 20% off instead.

And so I will chronicle my journey to take our 10 year old product, written in Delphi 5 then Delphi 6, to Delphi 2009. The challenges I forsee are more to do with API headers written for some of the hardware devices (clocking terminals) that we support with our T&A product, but time will tell.

To start with, it will be a case of getting the main part of the software converted and see how that goes. I have the latest versions of all our third-party products such as Raize Components 5, TMS Component Pack, ReportBuilder Server & Enterprise 11 and TsiLang Translation.

Could have some fun with older components like the Crystal Reports VCL component for Delphi (for Crystal Reports 7). Anyone got any experience with that?

Should be "interesting"...!

Monday, 1 June 2009

Upgrading a major project to Delphi 2009

Lars Dybdahl has posted an excellent summary of his experience converting older Delphi projects to Delphi 2009. Very relevant to me and many Delphi users, I'm sure:

Compas Pascal: Upgrading a major project to Delphi 2009: "g"

Wednesday, 10 December 2008

CodeRage 3

CodeRage 3 seems to have gone pretty well judging by those who were involved with it. I'm pleased, it's good that CodeGear/Embarcadero does this because it shows that they're focusing their mind on the developers (and possibly trying to showcase for potential new customers).

There will always be an argument between real vs virtual conferences and I don't want to restart that one off again. Real ones cost money for both the host and the delegate, but you get face-to-face contact and a feeling of something good happening. Virtual conferences are free (at least to us, the attendee), allow us to attend without having to travel to different countries. For me, I simply couldn't travel to the States every year to attend a CodeGear conference (no matter how much I wanted to) so it's a viable alternative.

For me though, it seems to have had some backwards steps this year. Firstly, and I'm not the first to bring this up, the registration process was much more awkward. And I think that's being kind.

Last year, I had a good timetable of talks and rooms, and could register for each session individually. I knew what was coming, when it was and how to see it.

This year, the agenda was vague. "Day 1 Morning, Room 1". And the registration details were for the whole morning, not just for individual sessions. This made it harder to know when I should be attending the session I wanted to see.

So I thought I'd register for all sessions, that way I'm covered. I downloaded the iCalendar file from the registration page and it practically block-booked me out for the entire week. Totally ridiculous. I ended up having to go through all the calendar entries and put them into one per day, amending the notes so that I had all the registration details for all the rooms at all parts of the day. In the end, it was next to useless.

To the point where I stopped bothering trying to attend. Partly because I'm flat out at work and the conference came second best. Not CodeGear's fault, this is the downside of the virtual conference - it's too easy to get distracted. But partly because I ended up thinking "I'll just download the sessions later and watch them when I want".

I've been trying for 2 days to download just one session from the CodeRage downloads page, but every attempt fails with an error about the connection with the server being reset.
So close, 82%!

Last year I'm sure these were available to download by FTP which is much more reliable.

I rarely but in a bad word about CG but I'm disappointed with the organisation of the event this year, although once (if) I finally get the sessions downloaded, I'm sure I won't be disappointed by the quality of the speakers.

Tuesday, 5 August 2008

Delphi 2009 Sneak Peek Videos

I've just watched Nick Hodges go through some of the VCL enhancements for Delphi 2009, and two things struck me.

Firstly, I can't understand why the PasswordChar feature on TEdit was being demonstrated; I was running Delphi 6 side-by-side with the video, and was changing this property with the same results. So why is this being advertised as a VCL enhancement when, if I recall correctly, it's been there since Delphi 1.

The other thing is how many of these new controls are similar to the Raize Controls, especially the TButton with images from an imagelist (TRzBitBtn), the TButtonEdit with 2 buttons in the edit control (TRzButtonEdit) and the group bar (TRzGroupBar).

That said, it's nice to have these as standard components, and if I do move to Delphi 2009 then I'd have to think twice about renewing my Raize Components.