Re: Need versioning ?



>I have an application that is used for Power users as well as basic users.
>I
> am just wanting to trim off some features, money reports etc., and some
> confidential fields etc, for the basic users..
> I just dont want to have to maintain 2 apps. Is there an easy way to do
> this? Is there a way to click complile and have 2 versions come out?
> Any ideas??

Well, you can't do /exactly/ what you're asking, but you can come close.

You can use compiler directives to enable and disable features based on
conditional defines. For example:

{$define BASICVERSION }
procedure Whatever;
begin
{$ifdef BASICVERSION }
ShowMessage('This is the basic version.');
{$else}
ShowMessage('This is the pro version');
{$endif}
end;

If you compile this, you'll get a dialog box that says "This is the basic
version.". If you then comment out or remove the $define at the top and
recompile, you'll get a dialog that says "This is the pro version."

You can also set defines in the Project->Options->Directories/Conditionals
dialog. Similarly, the command line compiler and most tools like
FinalBuilder will allow you to specify certain defines when you compile your
project. This allows you to make single-click builds of multiple versions of
your software. I use FinalBuilder for this very thing, allowing me to
compile multiple copies of multiple product, create the installers, the help
files, everything - then zip it up and upload it to a website for testers or
users to download and use. It's very slick.

HTH.

--
Tim Sullivan
Unlimited Intelligence Limited
http://www.uil.net




.



Relevant Pages

  • Re: Need versioning ?
    ... > I have an application that is used for Power users as well as basic users. ... > am just wanting to trim off some features, money reports etc., and some ... Perhaps you could use a plugin framework, and enable the plugins only in the ...
    (borland.public.delphi.thirdpartytools.general)
  • Need versioning ?
    ... I have an application that is used for Power users as well as basic users. ... am just wanting to trim off some features, money reports etc., and some ...
    (borland.public.delphi.thirdpartytools.general)