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