对此脚本代码进行映像:
procedure A;
begin
CallToDelphi;
end;
procedure B;
begin
// do something
end;
我已将程序“CallToDelphi”暴露给脚本。因此,当它被调用时,我在我的Delphi代码中从脚本返回。我现在想从我的Delphi代码中调用脚本过程“B”。 我认为必须隐藏在IdwsProgramExecution-Context中。但我还没发现任何东西。我正在寻找类似的东西:
procedure CallToDelphi;
begin
Exec.Invoke('B', []); // Exec is IdwsProgramExecution
end;
这有可能吗?
答案 0 :(得分:2)
您正在寻找的可能是IInfo接口,可用作
Exec.Info.Func['B'].Call([])
http://code.google.com/p/dwscript/wiki/FirstSteps中有更多样本(向下滚动到函数),还有单元测试中的一些使用代码(尤其是UdwsUnitTests,请参阅CallFunc方法)。
IInfo将Delphi端作为查询RTTI,调用函数,直接获取/设置变量,实例化脚本端对象等的主要方式。但是大多数示例代码目前都在单元测试中。 / p>