在Java中,我们有类似VarName.toString
的东西来确定var的名称。如何获取由delphi函数中的参数传递的变量或对象节点的名称?
我在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;
有一种优雅的方式来确定传递给函数的变量名称是什么?
都能跟得上。 '如果MyHierarchy.MOD_HOTSITES ='BROWSE_ONLY'然后'有什么问题? –
如果我没有获得许可信息,我会发邮件给我自己(支持),告诉MyHierarchy。来自用户XXXX是不完整的。 – PSyLoCKe
您可以在从数据库加载权限数据时发送电子邮件,而不是在检查所拥有的内容时。然后你有数据库字段名称,并可以使用它而不是试图获取记录字段名称。 –