Eugene Starostin

Add-in Express 2009 for CodeGear Delphi 2009 and… C++Builder

I'll start with positive things… :)

Delphi stays platform #1 for developing commercial-class Office extensions

Is it big news for anybody? We have been in the know of that for a long time and say it to everyone. What is more, we still develop all our commercial add-ins in Delphi 7. Have a look at the top banner on this page.

The main point is that using Delphi, we get Win32 code that makes Office extensions:

Compact. And here we immediately recall all prerequisites for “.NET from scratch” or VSTO-based solutions, namely: .NET Framework (I am going to be reminded right away that it is already installed on the majority of PCs :), Office interop assemblies (you will find them installed by default for Office XP or Office 2003 w/o SPs :), VSTO or Add-in Express run-times (or somebody else’s), and finally a couple of necessary Office updates. Just compare all this stuff with the only dll which we get in Delphi.

Easily deployable. What to deploy here? RegSvr32 is always on call to register your dll.

More easily protected. Exactly so! It is much easier to protect the code of the only Win32-dll than the whole lot of .net assemblies. Any virtualization will be of no help, since hardly will anybody have the desire to “virtualize” Outlook for the sake of some add-in.

Fast. Does anybody remember marshalling and its overhead expenses? Oh right! Now processers are by far more powerful than they were in 1990s and RAM is much bigger. But here is a killing example from our experience. Switch off all add-ins in Excel 2007, don't forget about those registered for all users. Restart the machine, launch Excel and measure the time required for Excel's complete startup. Let’s take this time for 100%. After that, create an empty add-in that stores a reference to Excel.Application on Excel startup and releases it on Excel close. Measure the time of Excel's startup with each add-in. Here is how the result of my measurements looks like:

Excel startup time

As long as the add-in remains a sort of stub, the difference will be just in seconds. But as soon as some applied code is added (my experience shows that each add-in strives to steal some CPU time on its host application's start-up once in a while), the difference will be in tens of seconds. I am telling this with that share of confidence which can be backed up only by experience, my own experience and that of many of our customers. So, this slogan “Your Office will take half the time to start up with our Delphi-based add-ins installed" is still actual :) Well … let's get to the point…

Beta support for Delphi 2009 has already been added to Add-in Express 2008

All VCL editions of the Add-in Express product line provide beta support for Delphi 2009, namely:

  • Add-in Express 2008 for Microsoft Office and VCL
  • Add-in Express 2008 for Outlook Express and VCL
  • Security Manager 2008 for Microsoft Outlook and VCL

What do we mean by "beta support"?

Testing, testing, and testing. We need to test a lot of things before we are ready to announce the support for Delphi 2009 a hundred per cent. I can say one thing with certainty – the public API will not be changed.

Will Add-in Express 2009 completely support Delphi 2009?

Yes, it will. Firstly, it will be huge work on tiny errors. Exactly as I said, because a number of slight imperfections have accumulated in our storeroom which prevent us from bringing our products to the ideal (utopia!!! :). Secondly, we are going to add a good deal of new fascinating features which I briefly depicted in Add-in Express 2009 Roadmap. One thing is gnawing at my heart. I am at my wits’ end about how we will be able to use “Greater visibility into COM and ActiveX source code that gives greater flexibility and complete control” :) (this is a quote from Delphi 2009 What’s New).

What about C++Builder 2009?

It happened at last! The other day we were asked if we would support C++ Builder 2009. I am giving a public answer. COM development in C++ Builder has always been a thing in itself. I must admit that I have never managed to get a correctly performing Office add-in, not a single one, when developing it in C++ Builder from scratch, let alone multiple attempts to apply ready-to-use classes which we developed for Delphi. In case of C++ Builder 2009, I have made sure of this yet another time. That is why Add-in Express has not supported any of the existing C++ Builder versions, and will hardly support it in the year of 2009.

Post a comment

Have any questions? Ask us right now!