Transporte de host XFA explícito

Unit: HPDFXFARuntime

Declaración

Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostTransport := ApplicationHost.Transport;
Options.OnHostTransactionCompleted := ApplicationHost.Completed;

Comportamiento

Configura callbacks explícitos de la aplicación para ejecutar xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData y exportData, y los Get, Post y Put de FormCalc

La librería no invoca automáticamente ningún diálogo, lector, solicitud de red ni transferencia de archivos; el callback implementa el transporte de la aplicación y devuelve una respuesta tipada

Cada solicitud despachada corre una vez dentro de una transacción de runtime contenedora; los reintentos de suspensión de QuickJS y el replay de sesiones comprometidas consumen las respuestas grabadas sin repetir callbacks

Las solicitudes preservan los argumentos posicionales como cadenas Unicode, incluidos los argumentos vacíos; la secuencia de solicitudes empieza en cero para cada transacción

Las transacciones fallidas restauran el estado del documento y de los objetos de script y notifican al callback de finalización con Committed=False; la aplicación debe preparar en staging o compensar sus efectos externos porque el rollback del documento no puede deshacer una operación externa

Los callbacks de finalización corren una vez tras la validación y layout exitosos del documento o tras el rollback, antes de los observers normales de éxito; los callbacks no deben lanzar excepciones ni reentrar al runtime

Los callbacks del host exigen la sesión QuickJS incluida; los callbacks JavaScriptEvaluator personalizados no aportan el contrato de checkpoint y replay

El conteo de solicitudes, de argumentos, los bytes de solicitudes codificadas y los bytes de respuesta tienen límites positivos independientes; el tiempo transcurrido del callback cuenta contra el deadline de la transacción, pero el código síncrono de la aplicación no puede interrumpirse forzosamente

Las funciones de script reciben number, Boolean, string, null o undefined según el Kind de la respuesta; las respuestas numéricas deben ser finitas y las respuestas Unicode deben contener pares surrogados válidos

APIs relacionadas

Transporte de host XFA explícito, TXFAHostTransaction y Runtime interactivo de widgets XFA dinámico