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