delphi - DWScript:调用后如何获取结果

标签 delphi dwscript

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

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

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

最佳答案

编辑:

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

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

原答案:

好吧,我找到了答案 - 丢失的结果位于返回的 IInfo 对象的 data 属性中:

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

关于delphi - DWScript:调用后如何获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14237759/

相关文章:

delphi - 使用 dwscript 作为 Delphi Application 的插件框架

json - 导航 JSON 路径

delphi - 用Delphi实现读取文件时的超时

delphi - 如果我正在处理的请求已被取消,如何通知我?

delphi - "{$F ' 文件名'}"到底是什么意思?

delphi - 如何解决XP中父窗体中Delphi子窗体不对齐的问题

delphi - 根据类类型在运行时创建Delphi对象

delphi - DWScript:从 IScriptObj 获取 IInfo 或 TProgramInfo

delphi - 如何最好地在 DWScript 中公开类实例