Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: verschiedene Klassen via Compiler directive erzeugen

  Alt 26. Mai 2017, 03:38
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
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat