Явный транспорт хоста 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