http://chrisbensen.blogspot.com/2007/10 ... enums.html
Bu sitede kullanım amacı gösterilmiş. Anladıgım kadarıyla tanımlanan enumdaki tanımlamalar sadece türle birlikte kullanılabiliyor. Yani foo daki A,B,Foo foo olmadan da kullanılabilirken, scopedenums on iken yapılan tanımlamalarda birlikte kullanmak gerekiyor.
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)); // Error
end;
Daha anlasilir bir örnek
type
{$SCOPEDENUMS ON}
TGun = (pazartesi,sali,carsamba);
{$SCOPEDENUMS OFF}
Tanımlıysa
Writeln(integer(sali)); // hata veriyor
writeln(integer(TGun.sali)); // calisiyor