好吧,我对 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/