[Outlook] I need a good suggestion to solve this.

Add-in Express™ Support Service
That's what is more important than anything else

[Outlook] I need a good suggestion to solve this.
 
Wim W.A. ten Brink


Workshop Alex


Posts: 30
Joined: 2005-11-23
I am creating an Outlookbar solution which will have two flavours. One standard version and a professional version. The difference between these two is that the professional version will have three toolbars in Outlook while the standard version only has two. Both versions will also have several custom forms that will pop up when users click on certain buttons.

I want two different DPR files which will both use the same units, forms and datamodules. The Professional.dpr file has a {$DEFINE Professional} directive defined in it. The Standard.dpr does NOT have this directive. All units that I have will have an {$IFDEF} around the code where appropiate to enable or disable certain parts of the code. So in general I have a nice solution for creating two versions of a single product, as long as I do a "build all" between switching projects in the compiler.

The only problem that I am worried about is if the AddIn Express components work reliable enough if I have multiple TadxCOMAddInModule components in my project. (One for each bar, preferably.) Then in the main DPR I can use compiler directives to include or exclude certain bars from the final product. Since the AddIn Express components don't seem to allow adding multiple TadxCOMAddInModule modules to a project, I need to know if this is a good method.

The other method is by adding all bars to my project in one TadxCOMAddInModule module and then in runtime disable or even free any bar and button that I don't want to be usable in the version of my outlookbar. This latter method is a bit more clumsy in my opinion, but would provide me a good alternative if I can't have multiple modules in my project.

Has someone already tested and/or experimented with multiple TadxCOMAddInModule modules in a single project?
With kind regards,
\/\//\ Workshop Alex
Posted 24 Jan, 2006 11:13:01 Top
Dmitry Kostochko


Add-in Express team


Posts: 2875
Joined: 2004-04-05
Hi Wim,

I think your latter solution/method will do. You can easily use a code similar to the one below for separating two versions:


procedure TAddInModule.adxCOMAddInModuleAddInInitialize(Sender: TObject);
begin
  {$IFNDEF Professional}
  MyProfCommandBar.Free;
  {$ENDIF}
  //...
end;


Posted 24 Jan, 2006 11:35:38 Top