HPDFXFACompileFormCalcEvent
Модуль: HPDFXFAEventScript
Объявление
function HPDFXFACompileFormCalcEvent(const Script: AnsiString;
const Limits: TXFAFormScriptLimits; out JavaScript: AnsiString;
out Diagnostic: string): Boolean;
Поведение
Компилирует поддерживаемый синтаксис событий FormCalc в JavaScript для ограниченного хоста событий, не выполняя результат
Поддерживает переменные, условные конструкции, циклы, пользовательские функции с неявными результатами, арифметику, сравнение, конкатенацию, неявное присваивание полей и агрегацию узлов wildcard
При успехе возвращает True и скомпилированный JavaScript; ошибки разбора и исчерпанные бюджеты компилятора возвращают False с Diagnostic и без пригодного вывода
Вход — UTF-8 в AnsiString; выполняйте результат через HPDFXFAExecuteJavaScriptEvent или используйте TXFAWidgetRuntime.DispatchEvent для транзакционной публикации
Встроенные имена нечувствительны к регистру; хост событий поставляет реализованную библиотеку функций FormCalc
Живые SOM-аксессоры поддерживают выведенные, абсолютные, относительные и вычисленные индексы, агрегацию wildcard, селекторы class и descendant, присваивание выбранных полей и лексические свойства скриптовых объектов; пути предикатов используют строки резолвера в кавычках
Ref отличает обычные копии значений от явных дескрипторов объектов; присваивание аргументов переменных и функций сохраняет явные дескрипторы, скалярное присваивание пишет через дескриптор, а результаты равенства используют числа 1 или 0
Eval компилирует динамически переданные вычисления во время общего выполнения с независимой локальной областью видимости и записанными ответами; компиляция одного внешнего события не выполняет и не компилирует его динамические аргументы-исходники
Методы элементов выбора принимают явные дескрипторы Ref, а selectedIndex и length распознаются как свойства поля в SOM-выражениях, а не как селекторы дочерних узлов
Связанные API
Интерактивный runtime виджетов динамической XFA, Функции FormCalc и XFA Packet DOM