Bereichsabhängige Aufzählungen (Delphi)
Nach oben zu Liste der Delphi-Compiler-Direktiven - Index
Typ |
Option |
Syntax |
{$SCOPEDENUMS ON} oder {$SCOPEDENUMS OFF} |
Vorgabe |
{$SCOPEDENUMS OFF} |
Bereich |
Lokal |
Bemerkungen
Die Direktive $SCOPEDENUMS aktiviert oder deaktiviert die Verwendung von bereichsabhängigen Aufzählungen im Delphi-Quelltext. $SCOPEDENUMS wirkt sich nur auf Definitionen von neuen Aufzählungen aus und steuert nur das Hinzufügen der Wertesymbole von Aufzählungen zum globalen Bereich.
Im Status {$SCOPEDENUMS ON} sind Aufzählungen bereichsabhängig, und Aufzählungswerte werden nicht dem globalen Bereich hinzugefügt. Zum Festlegen eines Member einer bereichsabhängigen Aufzählung müssen Sie den Typ der Aufzählung einbeziehen. Zum Beispiel:
type TFoo = (A, B, Foo); {$SCOPEDENUMS ON} TBar = (A, B, Bar); {$SCOPEDENUMS OFF} begin WriteLn(Integer(Foo)); WriteLn(Integer(A)); // TFoo.A WriteLn(Integer(TBar.B)); WriteLn(Integer(TBar.Bar)); WriteLn(Integer(Bar)); // Fehler end;
Beachten Sie bitte, dass auch Folgendes gültig ist:
Writeln(Integer(TFoo.A));
Obwohl TFoo nicht mit $SCOPEDENUMS ON deklariert wurde, kann der Wert A dennoch explizit anhand des Aufzählungsnamens aufgelöst werden.