Delphi Web Script:如何在执行上下文中从 Delphi Code 调用脚本函数



正在映像此脚本代码:

procedure A;
begin
  CallToDelphi;
end;
procedure B;
begin
  // do something
end;

我已经将过程"CallToDelphi"暴露给脚本。因此,当它被调用时,我从 Delphi 代码中的脚本中返回。我现在想从我的德尔菲代码中调用脚本过程"B"。我认为必须隐藏在 IdwsProgramExecution-Context 中。但是我还没有找到任何东西。我正在寻找类似的东西:

procedure CallToDelphi;
begin
  Exec.Invoke('B', []); // Exec is IdwsProgramExecution
end;

这在某种程度上可能吗?

您正在寻找的可能是 IInfo 接口,它可以用作

Exec.Info.Func['B'].Call([])

http://code.google.com/p/dwscript/wiki/FirstSteps 中还有一些示例(向下滚动到函数),单元测试中还有一些用法代码(特别是 UdwsUnitTests,请参阅 CallFunc 方法)。

IInfo 将 Delphi 端作为查询 RTTI、调用函数、直接获取/设置变量、实例化脚本端对象等的主要方式。不过,它的大部分示例代码目前都在单元测试中。

最新更新