delphi – 我可以从字符串中获取PTypeInfo吗?
发布时间:2020-12-15 04:14:52 所属栏目:大数据 来源:网络整理
导读:这可能是一个“不”,但有什么方法可以使用Delphi的RTTI(旧学校或2010扩展RTTI)传入一个包含类型名称的字符串,特别是枚举的名称类型,并让它给我这种类型的PTypeInfo?我查看了RTTI.pas和TypInfo.pas,我没有看到任何可以做到这一点的函数,但我可能错过了一些东
这可能是一个“不”,但有什么方法可以使用Delphi的RTTI(旧学校或2010扩展RTTI)传入一个包含类型名称的字符串,特别是枚举的名称类型,并让它给我这种类型的PTypeInfo?我查看了RTTI.pas和TypInfo.pas,我没有看到任何可以做到这一点的函数,但我可能错过了一些东西.
我在找什么: var info: PTypeInfo; begin info := GetTypeInfoFromName('TComponentStyle'); end; 或类似的东西.事实是,枚举类型的名称将被传入;在编译时不知道. 解决方法
以下内容应与限定名称一起使用.
限定名称为:UnitName.TypeName type ETypeNotFound = class(Exception); function GetTypeInfoFromName(aTypeName : String) : pTypeInfo; var C : TRttiContext; T : TRttiType; begin T := C.FindType(aTypeName); if Not Assigned(T) then raise ETypeNotFound.CreateFmt('Type %s is not found',[aTypeName]); result := T.Handle; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |