EZDSL with Delphi 2006
published: Mon, 31-Jul-2006 | updated: Mon, 31-Jul-2006
The other day someone asked me for what needed to be done in order to make EZDSL compile with Delphi 2006, at least with the Win32 version. I'd installed BDS2006 as part of my Developer Express work a while back and so I decided to make the changes.
Now before I go any further, I hasten to add that EZDSL will not compile with Delphi for .NET. It was originally written for Delphi 1 (and still compiles with Delphi 1, for that matter, as well as Delphi 2, 3, 4, 5, 6, and, with some minor tweaks, 7) and has pointer arithmetic and manipulation galore. I did start making a .NET version, but the changes were too many and too fundamental and there would have been no possible way for developers' code using it to easily port to .NET. So that little project was abandoned.
In the end, creating a BDS project group and project for EZDSL wasn't that hard. As usual, the main changes were to the two include files, the ones that define how the source code is compiled. Anyway, you can download the zip file containing the supplementary and changed files here. It's for BDS2006, but I imagine if you have BDS2005 (I don't), it'll be very easy to alter the source to fit that compiler instead (indeed, if anything has to be done at all).
This time around I am not including the pre-compiled packages. The main reason is that I no longer have all the Delphi versions. I used to keep up when I was at TurboPower (I have Delphis 1 through 6) and was able to produce those packages really easily (I had the proverbial build batch file), but I never had Delphi 7, Delphi 8 was .NET only, and I never had Delphi 2005 (which, in a way, is Delphi 9). Another reason is that, for some reason, when I last tried installing it, my Delphi 4 CD failed. So I don't have Delphi 4 now either (and that's no great loss, in my ever so humble opinion). In fact, on my Tablet PC I have installed only Delphi 1, Delphi 6, and now Delphi 2006. (And Borland Pascal 7.0, of course.)
So I got to thinking. If the DevCo roadmap is to be believed, Delphi 200x is reputed to have native Win64 support. (x, of course, is any digit greater than 6 but less than or equal to 9.) It would be kind of fun to have 64-bit support in EZDSL. Looking at the code, I think I've taken the cross-platform support as far as it will go: there is support for 16-bit, 32-bit, and unfinished support for Linux (yeah, right: the Kylix fiasco still rankles). It's already messy.
So, having Delphi 2006 handy, I think I'll create an EZDSL 4 that will only be available for Delphi 2006 or later, and take into account all those 64-bit things I know about right now to make the conversion in x-6 years to Delphi64 that much easier. The fact I have a compiling and functioning base is a great start (the .NET conversion always suffered from never having a compilable version, for instance).
Maybe my EZDSL page will start being updated again...