Das define in der if ist zuviel
Richtig wär:
Delphi-Quellcode:
// Unit 1 oder Include 1
//const
// encrypt_full = False;
// encrypt_tiny = True;
{.$DEFINE encrypt_full}
{$DEFINE encrypt_tiny}
// Unit 2
{$IFDEF encrypt_full}
FLicense := TLicense.Create;
{$ELSEIF encrypt_tiny}
FLicense := TLicenseSimple.Create;
{$ELSE}
FLicense := TLicenseMock.Create;
{$IFEND}
http://docwiki.embarcadero.com/RADSt...ktive_(Delphi)
http://docwiki.embarcadero.com/RADSt...ktive_(Delphi)
Ein Zugriff auf "normale" Code-Konstanten innerhalb einer Compiler-Direktive ist logischerweise nicht möglich, das sie ja erst während des compilierens angelegt wird und so ggf. dem Compiler garnicht bekannt ist.
Alternativ zu den DEFINES in Unit1 kannst du das entsprechende Symbol auch über die Projektoptionen
(Delphi-Compiler->Bedingungen) definier. Dazu einfach das gewünschte Symbol mit einem ; anhängen
(BSP.: DEBUG;encrypt_tiny)
Hoffe mal das hilft dir weiter