What about Delphi 7, what about Delphi 2007 ?

By | October 19, 2009

I know many of you are stuck with older Delphi versions. Some don’t want and many can’t upgrade to a unicode Delphi version for reasons that I won’t discuss here.

So why do I not support Delphi 7 anymore. It’s not because I can’t. It’s because I don’t want to anymore. I used Delphi 7 for almost 7 years now. But when Vista was released and I got a new computer, I started to use it less often until I stopped starting it at all at home. And as you can see from my tools, I haven’t released anything Delphi 7 related since Oct 2008 with the exception of the bug-fix back-ports for DDevExtensions 1.61 which were merely for Delphi 2007. That means I have already stopped supporting Delphi 7 a year ago.

Now Delphi 2007 is still a great product (especially if you had Delphi 8, 2005 and 2006). So why do I stop supporting it. Three reasons: Generics, Anonymous methods and Unicode. I want to write code that employs generics and anonymous methods which make it much easier to do parallel execution and thread synchronization without hacks like my “EnterMainThread/LeaveMainThread”. Supporting Delphi 2007 means that I can’t use those new language features and I would have to IFDEF the whole code.

But why have I installed Delphi 2009 if Delphi 2010 supersedes it? That has to do with the fact that we are switching to Delphi 2009 (from Delphi 7). And in order to enhance DDevExtensions or the IDEFixPack I need the Delphi 2009 IDE.


And about open sourcing the code: I know how that works out for my tools.

10 thoughts on “What about Delphi 7, what about Delphi 2007 ?

  1. Jeroen Pluimers

    Totally agreed: you should only support Delphi versions that you use on a regular base yourself, especially in your case where you help make things stable or more stable.

    People should be glad that you have volunteered already so much.

    –jeroen

  2. Lachlan Gemmell

    Just happy to have whatever access to whatever you’re so generously willing to make public. There’s plenty of D2007 goodness amongst your tools already to keep me happy anyway. Looking forward to seeing what you do with D2010.

  3. Xepol

    Actually, Andy, describing your EnterMainThread/LeaveMainThread as a hack in unfair. The syntax is blindingly simple, works SEAMLESSLY across multiple versions of the product and does exactly what it claims to do.

    The current “correct” way to inject code into the main thread by synchronizing an anonymous method that has to carrry copies of variables or pointers -> That is a hack and an ugly one.

    You created a great bit of code there. It is a shame that more people (yourself included) don’t recognize it for what it is: Simple, elegant and effective.

    I use it quite a bit in a number of my projects. Not only is it simple to use, it clearly communicates what it is doing, and makes the code very simple to read and maintain. I do not expect anything that comes in a future version of Delphi for parallelism to come close to achieving that.

  4. Xepol

    Actually, Andy, describing your EnterMainThread/LeaveMainThread as a hack is unfair. The syntax is blindingly simple, works SEAMLESSLY across multiple versions of the product and does exactly what it claims to do.

    The current “correct” way to inject code into the main thread by synchronizing an anonymous method that has to carrry copies of variables or pointers -> That is a hack and an ugly one.

    You created a great bit of code there. It is a shame that more people (yourself included) don’t recognize it for what it is: Simple, elegant and effective.

    I use it quite a bit in a number of my projects. Not only is it simple to use, it clearly communicates what it is doing, and makes the code very simple to read and maintain. I do not expect anything that comes in a future version of Delphi for parallelism to come close to achieving that.

  5. Cameron

    Understandable. We still use Delphi 7 and would love to move to Delphi 2010 but the Unicode issue will probably keep us from moving forward with a Delphi product in the future. We love your work, but since Delphi 7 is already static no reason to keep supporting it. We love your projects and they have made life much better as well as saved us countless man hours. A testament to how well designed and constructed is that they will likely live on several more years without any changes being necessary.

  6. Ken Knopfli

    D7/2007 has a pretty rich set of mature tools to support it. The compilers are not going to suddenly dissolve into thin air.

    I intend upgrading to D2010 in the new year (if our company gives some bonus money) and I’m looking forward to it.

    Trying to remain endlessly backwards compatible is not a good strategy. It apparently did for TurboPower Software.

  7. Nisse Hult

    Understand that you at some time have to move on. Installed a Delphi 7 in a virtual machine just to test out a few things on an old version of Windows. How on earth can people beside the aspect of money not update to the newer versions. They newer versions are just so much more productive.

    A thing I would just love to see in your DDevExtensions plugin, is a way directly from the keyboard be able to do a “Ctrl+Left click”! If you are a keyboard typer the need to click with the mouse (while holding down the Ctrl key) is distracting. Maybe like in my favorite editor SlickEdit you could have like Ctrl+. to the equivalent to a Ctrl+Left click?

  8. Xepol

    Nisse -> I have project with legacy components that so far have no adequate replacement. Carrying them forward from D3 through to D2007 has been very minimal – they just worked.

    Sadly, because they have a large degree of character based logic, moving forward to Unicode is on heck of a pain (read near impossible). The component needs replaced with something else – and since it is going into living projects – the replacements have to do EVERYTHING the originals did – not a simple task when the components have complicated functionality.

    Believe me, it is far more important that the apps can continue to be maintained than that they continue to be maintained in the newest version of the tool. When faced with a choice like that, the solution is often to leave it where it is and works just fine.

    The unicode switch causes more situations like that then you might initially imagine. D2007 is going to have a long, long life. (And D7 is likely to follow it the same way)

Comments are closed.