6

好吧,我对 DWScript 完全陌生。现在我对它的能力很着迷,但是尽管我阅读了随附的 wiki 中的所有页面以及此处的问题/答案,但在从 Delphi 调用函数后,我仍然找不到提取结果的方法,如下所示:

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

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

4

1 回答 1

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]
于 2013-01-09T15:26:06.080 回答