Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

AW: verschiedene Klassen via Compiler directive erzeugen

  Alt 26. Mai 2017, 07:56
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.
Das stimmt so nicht. Folgendes funzt wunderbar:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

{$DEFINE TEST1}
const
  Test2 = 10;
begin
  try
{$IFDEF TEST1}
    Writeln('Test1');
{$ENDIF}
{$IF Declared(Test2)}
    Writeln('Test2 declared');
{$IFEND}
{$IF Test2>5}
    Writeln('Test2 biiiig');
{$IFEND}
    Readln;
  except
    on E: Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
Im aktuellen Fall ist IFDEF natürlich trotzdem die bessere Wahl.
Uli Gerhardt
  Mit Zitat antworten Zitat