Bereichsabhängige Aufzählungen (Delphi)
Nach oben zu Liste der Delphi-Compiler-Direktiven - Index
|
Typ |
Option |
|
Syntax |
{$SCOPEDEUNMS 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.