表示: Delphi
C++
表示設定
スコープのある列挙型(Delphi)
提供:RAD Studio
Delphi コンパイラ指令のリスト:インデックス への移動
|
型 |
スイッチ |
|
構文 |
{$SCOPEDEUNMS ON} または {$SCOPEDENUMS OFF} |
|
デフォルト |
{$SCOPEDENUMS OFF} |
|
範囲 |
ローカル |
詳細情報
$SCOPEDENUMS 指令では Delphi コードでスコープのある列挙型の使用を有効(または無効)にします。すなわち、$SCOPEDENUMS は新しい列挙型の定義だけに影響し、列挙型の値シンボルをグローバル スコープに追加することだけを制御します。
{$SCOPEDENUMS ON} 状態では、列挙型にスコープがあり、列挙型の値はグローバル スコープに追加されません。スコープのある列挙型のメンバを指定するには、列挙型を追加して指定する必要があります。次に例を示します。
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)); // エラー
end;
次の場合も有効であることに注意してください。
Writeln(Integer(TFoo.A));
TFoo が $SCOPEDENUMS ON で宣言されていない場合でも、列挙型名を指定して A 値を明示的に解決できます。