Explicit XFA Host Transport
Unit: HPDFXFARuntime
Deklaration
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostTransport := ApplicationHost.Transport;
Options.OnHostTransactionCompleted := ApplicationHost.Completed;
Beteende
Konfigurera explicita applikationscallbacks som kör xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData och exportData, samt FormCalc Get, Post och Put
Biblioteket öppnar ingen dialog, läsare, nätverksförfrågan eller filöverföring automatiskt; callbacken implementerar applikationens transport och returnerar ett typat svar
Varje dispatcherad förfrågan körs en gång inom den omslutande runtime-transaktionen; retries efter QuickJS-suspension och replay av committade sessioner förbrukar inspelade svar utan att upprepa callbacks
Förfrågningar bevarar positionsargument som Unicode-strängar, inklusive tomma argument; förfrågningssekvensen börjar på noll för varje transaktion
Misslyckade transaktioner återställer dokumentets och skriptobjektens tillstånd och meddelar completion-callbacken med Committed=False; applikationen måste staga eller kompensera sina externa effekter, eftersom rollback av dokumentet inte kan ångra en extern operation
Completion-callbacks körs en gång efter lyckad dokumentvalidering och layout, eller efter rollback, före ordinarie success-observers; callbacks får inte kasta undantag eller återinträda i runtimen
Host-callbacks kräver den medföljande QuickJS-sessionen; egna JavaScriptEvaluator-callbacks tillhandahåller inte checkpoint- och replay-kontraktet
Förfrågningsantal, argumentantal, kodade request-bytes och response-bytes har oberoende positiva gränser; callbackens förflutna tid räknas mot transaktionens deadline, men synkron applikationskod kan inte tvingas avbrytas
Skriptfunktioner tar emot number, Boolean, string, null eller undefined enligt svarets Kind; numeriska svar måste vara ändliga och Unicode-svar måste innehålla giltiga surrogatpar
Relaterade API:er
Explicit XFA Host Transport, TXFAHostTransaction och Interaktiv runtime för dynamiska XFA-widgets