VarName.toString
Java では、変数の名前を特定するようなものがあります。
Delphi にコードがあり、同じことを達成する必要がありますrecord
。これは、識別する必要がある多くの部分文字列を持つ型があるためです。
type
THierarchyAccess = String; // receive the user permissions from the MySQL DB
THierarchy = record
MOD_HIERARQUIA : THierarchyAccess; // 'BROWSE_ONLY', 'MANAGE', 'NONE'...
MOD_OPERADORES : THierarchyAccess;
MOD_ESTATISTICAS : THierarchyAccess;
MOD_AUDITORIA : THierarchyAccess;
MOD_HOMEPAGE : THierarchyAccess;
MOD_HOTSITES : THierarchyAccess;
MOD_MATRIZ : THierarchyAccess;
MOD_NOTICIAS : THierarchyAccess;
MOD_VISITANTES : THierarchyAccess;
...
end;
...
function TAccess.IsAccessPermited(apNeed, apHave: String): Boolean;
begin
// HERE I need to know not only the content of "apHave",
// but if it came from THierarchy.MOD_HOTSITES or THierarchy.MOD_MATRIZ etc.
end;
...
if IsAccessPermited('BROWSE_ONLY', MyHierarchy.MOD_HOTSITES) then Form2.Open;
関数に渡された変数名を特定するエレガントな方法はありますか?