Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#4

AW: ENUM Vererbung?

  Alt 23. Feb 2011, 13:01
Mal etwas konkreter, vielleicht hab ich ja auch schon eine Lösung.

In dem Enum stehen alle Filter. Jetzt habe ich für verschiedene Programme unterschiedliche Filter. Bisher wurde das über Compilerflags geregelt:

Delphi-Quellcode:
  
  {$IFDEF X1}
  {$ELSE}
  {$ENDIF}
Überall muß das rein.

Um das zu umgehen habe ich folgendes versucht:

Unit1:
Delphi-Quellcode:
{$IFDEF PROG1}
,
Filter1,
Filter2,
Filter3
{$ENDIF PROG1}
Unit2:
Delphi-Quellcode:
{$IFDEF PROG2}
,
FilterA,
FilterB,
FilterC
{$ENDIF PROG2}
Unit3:
Delphi-Quellcode:

type
  TFilterEnum = (
    FilterInizial
    {$INCLUDE 'Unit1.pas'}
    {$INCLUDE 'Unit2.pas'}
  );

const
  c_Filter_First = Low (TFilterEnum);
  c_Filter_Last = High(TFilterEnum);
Wahlweise dir IFDEFs auch um die INCLUDEs.

Zum Benutzen muß ich dann nur Unit3 einbinden. Leider kappt das aber nicht so wie gewollt. Ein {$DEFINE PROG1} wird nicht erkannt. Bei den "alten" Programmen geht es (die wurden von Delphi 2006 auf XE umgestellt) aber wenn ich ein neues anlege scheint die Buildkonfiguration in der hinsicht nicht mehr richtig zu funktionieren.

Danke David
  Mit Zitat antworten Zitat