我几个月来一直在为编译的应用程序签名,并且有一个调用 Windows 10 SDK 签名工具的脚本。它在两台不同的计算机上运行良好,我的证书有效。今天,我刚刚开始收到带有上面列出的错误编号的“意外内部错误”。我尝试禁用防病毒软件,这在这种情况下有所帮助,但对我的无效。
我的应用程序是用 Delphi 编写的,但我认为这并不重要,因为在 Visual Studio 下的Microsoft开发人员社区上报告了同样的问题。我一直在使用 SDK 的 10.0.18362.0 版,但在收到此错误后,发现有更新并尝试使用 10.0.19041.0 版但出现相同的错误。
还有其他人有这个问题吗?有什么建议?
使用Delphi 2010和RTTI,我知道如何获取对象的类类型以及如何获取/设置对象属性的值和类型,但是如何确定属性来自继承链中的哪个类?我想以不同于主类的方式使用基类的属性.
考虑以下代码:
TClassBase = class(TObject)
published
property A: Integer;
end;
TClassDescendant = class(TClassBase)
published
property B: Integer;
end;
procedure CheckProperties(Obj: TObject);
var
ctx: TRttiContext;
objType: TRttiType;
Prop: TRttiProperty;
begin
ctx := TRttiContext.Create;
objType := ctx.GetType(Obj.ClassInfo);
for Prop in objType.GetProperties do begin
if Prop.GetClassType is TClassBase then
// do something special with base class properties
else
// standard functionality on all other properties
end;
end;
Run Code Online (Sandbox Code Playgroud)
问题是属性没有GetClassType.ClassType只返回TRttiInstancePropertyEx而不是属性所属的类的名称.