Получить контекст данных результата в событии OnFastEval в DWScript

Как получить IDataContext для значения результата в событии OnFastEval в функции TDWSUnit?

Функциональность «магических функций», представленная через событие OnFastEval, не может возвращать сложные данные, такие как записи, поскольку OnFastEval возвращает вариант. Внутренние магические функции поддерживают использование интерфейса IDataContext для возврата сложных данных.


person FHannes    schedule 01.05.2013    source источник


Ответы (1)


Вы должны вернуть интерфейс IDataContext через результат варианта (это IUnknown, поэтому вы можете назначить его напрямую).

Вы можете выделить IDataContext непосредственно из TDataContext, из пула выполнения через (args.Exec.Stack.CreateDataContext) или передать уже существующий.

Пример кода см. в FuncFastPoint в UdwsUnitTests.

person Eric Grange    schedule 02.05.2013