Explicit XFA Host Transport
Unit: HPDFXFARuntime
Declaration
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostTransport := ApplicationHost.Transport;
Options.OnHostTransactionCompleted := ApplicationHost.Completed;
Behavior
Konfigurieren Sie explizite Application-Callbacks, um xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData und exportData sowie FormCalc Get, Post und Put auszuführen
Die Library ruft keinen Dialog, Reader, keine Netzwerkanfrage und keinen Dateitransfer automatisch auf; der Callback implementiert den Application-Transport und liefert eine typisierte Antwort
Jede ausgelieferte Anfrage läuft einmal innerhalb einer umgebenden Runtime-Transaktion; QuickJS-Suspension-Retries und Committed-Session-Replay konsumieren aufgezeichnete Antworten, ohne Callbacks zu wiederholen
Anfragen bewahren positionale Argumente als Unicode-Strings, einschließlich leerer Argumente; die Anfragesequenz startet bei null für jede Transaktion
Fehlgeschlagene Transaktionen stellen Dokument- und Skriptobjektzustand wieder her und benachrichtigen den Completion-Callback mit Committed=False; die Anwendung muss ihre externen Effekte stagen oder kompensieren, denn ein Dokument-Rollback kann eine externe Operation nicht rückgängig machen
Completion-Callbacks laufen einmal nach erfolgreicher Dokumentvalidierung und Layout oder nach Rollback, vor normalen Success-Observern; Callbacks dürfen keine Ausnahmen auslösen und nicht in die Runtime reentern
Host-Callbacks verlangen die mitgelieferte QuickJS-Session; eigene JavaScriptEvaluator-Callbacks liefern den Checkpoint- und Replay-Vertrag nicht
Request-Anzahl, Argumentanzahl, kodierte Request-Bytes und Response-Bytes haben unabhängige positive Limits; Callback-Laufzeit zählt gegen die Transaktions-Deadline, aber synchroner Application-Code kann nicht forciert unterbrochen werden
Skriptfunktionen empfangen number, Boolean, string, null oder undefined gemäß dem Response-Kind; numerische Antworten müssen endlich sein, und Unicode-Antworten müssen gültige Surrogate-Paare enthalten
Verwandte APIs
Explicit XFA Host Transport, TXFAHostTransaction und Interactive Dynamic XFA Widget Runtime