好吧,我对DWScript完全不熟悉。现在我对它的能力非常着迷,但是虽然我在附带的wiki和问题/答案中阅读了所有页面,但是在从Delphi调用函数之后我还是找不到提取结果的方法:
func := m_dwsExec.info.Func[funcname];
func.call(params);
然后我被卡住了:exec.result.toString
什么都没给我。只要我看到exec对象中没有Result
,这就是为什么在清除脚本堆栈中的项目时,结果将被删除并丢失。请告诉我这项简单任务的正确方法是什么?
答案 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]