> is it possible to say something like:
> if FLAG_AR_SET then {$DEFINE AR};
Compiler conditionals occur before the compiling of the code purely by
cutting out
text that is defined as being out of the project
EG
{$define OPT_CLIENT1}
showmessage(
{$IFDEF OPT_CLIENT1}
'Client1'
{$ELSE}
'Client2'
{$ENDIF}
);
when compiled the compiler will see
showmessage(
'Client1'
);
That is, the compiler does not 'see' the other lines at all which is why you
can't combine
procedural code and compiler directives...
in Project options there is an option to enter defines that will apply to
the entire project,
this is the best place to set the OPT_Client1Specific flag. The other
possibility if your
structure of conditionals is more complex is to use an .INC file and add an
include
directive as the first line of every unit that needs those defines. EG
Example.Inc
-------------------------------
{$IFDEF OPT_LowMem}
{$DEFINE FLAG_NoRecordCache}
{$DEFINE FLAG_NoTexturedForms}
{$ENDIF}
{$IFDEF RELEASE_COMMERCIAL}
{$ENDIF}
{$IFDEF RELEASE_LITE}
{$DEFINE FLAG_NoLinkMetaData}
{$DEFINE FLAG_SingleUser}
{$ENDIF}
{$IFDEF RELEASE_DEMO}
{$DEFINE FLAG_NoSave}
{$DEFINE FLAG_SingleUser}
{$ENDIF}
-------------------------------
Then as the first line of all the project units you have
{$I X:\Mypath\Example.Inc}
Then by setting 'OPT_LowMem RELEASE_LITE' in the project options the
precompiler
will do
{$DEFINE OPT_LowMem}
{$DEFINE RELEASE_LITE}
{$DEFINE FLAG_NoRecordCache}
{$DEFINE FLAG_NoTexturedForms}
{$DEFINE FLAG_NoLinkMetaData}
{$DEFINE FLAG_SingleUser}
for all units with the '{$I X:\Mypath\Example.Inc}'.
for all units without the include file the only defines will be
{$DEFINE OPT_LowMem}
{$DEFINE RELEASE_LITE}
I hope this is clearer... When combined with commandline compilation (you
can specify the
project option as a commandline parameter) you can have a batchfile for each
customer and
quickly build any custom versions without a problem...
--
Aaron@home
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz