Явный транспорт хоста XFA
Модуль: HPDFXFARuntime
Объявление
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostTransport := ApplicationHost.Transport;
Options.OnHostTransactionCompleted := ApplicationHost.Completed;
Поведение
Настройте явные callback приложения для выполнения xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData и exportData, а также FormCalc Get, Post и Put
Библиотека не вызывает диалог, читалку, сетевой запрос или передачу файла автоматически; callback реализует транспорт приложения и возвращает типизированный ответ
Каждый отправленный запрос выполняется один раз внутри объемлющей транзакции рантайма; повторы приостановок QuickJS и переигрывание закоммиченной сессии потребляют записанные ответы, не повторяя callback
Запросы сохраняют позиционные аргументы как строки Unicode, включая пустые аргументы; нумерация запросов начинается с нуля для каждой транзакции
Сбойные транзакции восстанавливают состояние документа и скриптовых объектов и уведомляют callback завершения с Committed=False; приложение обязано подготовить или скомпенсировать свои внешние эффекты, поскольку откат документа не может отменить внешнюю операцию
Callback завершения выполняются один раз после успешной валидации и вёрстки документа или после отката, до обычных наблюдателей успеха; callback не должны возбуждать исключения и входить в рантайм повторно
Host-callback требуют поставляемую сессию QuickJS; пользовательские callback JavaScriptEvaluator не дают контракт контрольных точек и повтора
Число запросов, число аргументов, закодированные байты запросов и байты ответов имеют независимые положительные лимиты; время callback учитывается в дедлайне транзакции, но синхронный код приложения нельзя принудительно прервать
Скриптовые функции получают number, Boolean, string, null или undefined в соответствии с Kind ответа; числовые ответы должны быть конечными, а ответы Unicode — содержать корректные суррогатные пары
Связанные API
Явный транспорт хоста XFA, TXFAHostTransaction и Интерактивный runtime виджетов динамической XFA