DWScript:如何在调用后获得结果

时间:2013-01-09 14:45:17

标签: delphi dwscript

好吧,我对DWScript完全不熟悉。现在我对它的能力非常着迷,但是虽然我在附带的wiki和问题/答案中阅读了所有页面,但是在从Delphi调用函数之后我还是找不到提取结果的方法:

  func := m_dwsExec.info.Func[funcname];
  func.call(params);

然后我被卡住了:exec.result.toString什么都没给我。只要我看到exec对象中没有Result,这就是为什么在清除脚本堆栈中的项目时,结果将被删除并丢失。请告诉我这项简单任务的正确方法是什么?

1 个答案:

答案 0 :(得分:7)

编辑:

正如Eric Grange在下面的评论中所说,最佳做法是这样的:

  func := m_dwsExec.info.Func[funcname];
  info := func.call(params);
  funcresult := info.ValueAsString; //or Value, ValueAsInteger, etc.

原始答案:

我找到了答案 - 缺少的结果位于返回的data对象的IInfo属性中:

  func := m_dwsExec.info.Func[funcname];
  info := func.call(params);
  funcresult := info.data[0]