Delphi Web脚本:如何在Delphi中查找脚本TClass的类名

Delphi Web脚本:如何在Delphi中查找脚本TClass的类名,delphi,dwscript,Delphi,Dwscript,想象一下这个过程,它可以在脚本中调用: // Foo is not implemented in the Script but via Delphi procedure Foo(ClassType: TClass); 脚本如下所示: type TMyClass = class end; Foo(TMyClass); 当调用Foo时,我的Delphi应用程序会看到类类型的Int64值 e.g. Foo(661259635); 您可以在DWS源代码中看到,TClass被显式转换

想象一下这个过程,它可以在脚本中调用:

// Foo is not implemented in the Script but via Delphi
procedure Foo(ClassType: TClass); 
脚本如下所示:

type 
  TMyClass = class
  end;

Foo(TMyClass);
当调用Foo时,我的Delphi应用程序会看到类类型的Int64值

e.g. Foo(661259635); 
您可以在DWS源代码中看到,
TClass
被显式转换为
Int64
(请参见dwsCompiler.pas,
过程TObjectClassTypeMethod.Execute->Info.ResultAsInteger:=Int64(Info.ValueAsClassSymbol[SYS_SELF]);

现在,我可以在哪个结构中搜索该数字以找到相应的TdwsClass


注意:事实上,TMyClass不是在脚本中实现的,而是通过Delphi应用程序公开创建的……我不知道这是否有区别。

您当前必须手动将Int64强制转换回TClassSymbol,执行转换以将引用存储在变体中(不支持TClass)

拥有TClassSymbol后,可以查找符号表,或导航到成员


目前没有类符号的IInfo帮助程序。

您当前必须手动将Int64强制转换回TClassSymbol,执行转换以将引用存储在变体(不支持TClass)中

拥有TClassSymbol后,可以查找符号表,或导航到成员


目前没有类符号的IInfo帮助程序。

谢谢。我试图查找它,但最终得到了
函数TdwsClass.DoGenerate
。这就是创建
tclassssymbol
时不引用TdwsClass的地方。我没有找到任何反向链接。我错过什么了吗?如果没有,我想我必须坚持使用类名并搜索所有已知的单元。谢谢。我试图查找它,但最终得到了
函数TdwsClass.DoGenerate
。这就是创建
tclassssymbol
时不引用TdwsClass的地方。我没有找到任何反向链接。我错过什么了吗?如果不是,我假设我必须坚持使用类名并搜索所有已知的单元。