在DWScript中的OnFastEval事件中获取结果数据上下文

时间:2013-05-01 19:09:49

标签: delphi dwscript

如何在TDWSUnit函数的OnFastEval事件中获取结果值的IDataContext?

通过OnFastEval事件呈现的“魔术函数”功能无法返回复杂数据,如记录,因为OnFastEval返回Variant。内部魔术函数支持使用IDataContext接口返回复杂数据。

1 个答案:

答案 0 :(得分:1)

您必须通过变体结果返回IDataContext界面(它是IUnknown,因此您可以直接指定它。)

您可以直接从IDataContext,从执行池到(TDataContext)分配args.Exec.Stack.CreateDataContext,也可以传递现有的{{1}}。

有关示例代码,请参阅UdwsUnitTests中的FuncFastPoint