想象一下这个可以在脚本中调用的过程:
// Foo is not implemented in the Script but via Delphi
procedure Foo(ClassType: TClass);
脚本如下所示:
type
TMyClass = class
end;
Foo(TMyClass);
当调用 Foo 时,我的 Delphi 应用程序看到 ClassType 的 Int64-Value。
e.g. Foo(661259635);
您可以在 DWS 源代码中看到 aTClass
被显式转换为 an Int64
(参见 dwsCompiler.pas,procedure TObjectClassTypeMethod.Execute -> Info.ResultAsInteger := Int64(info.ValueAsClassSymbol[SYS_SELF]);
)。
现在我可以在哪个结构中搜索该数字以找到相应的 TdwsClass?
注意:实际上 TMyClass 并没有在脚本中实现,而是通过 Delphi App 公开创建的......我不知道这是否会有所不同。