Jawny transport hosta XFA

Jednostka: HPDFXFARuntime

Deklaracja

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

Zachowanie

Konfiguruje jawne callbacki aplikacji do wykonania xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData i exportData oraz FormCalc Get, Post i Put

Biblioteka nie wywołuje automatycznie żadnego dialogu, czytnika, żądania sieciowego ani transferu plików; callback implementuje transport aplikacji i zwraca typowaną odpowiedź

Każde zdysponowane żądanie wykonuje się raz w obrębie otaczającej transakcji runtime; ponowienia zawieszenia QuickJS i replay zatwierdzonej sesji konsumują nagrane odpowiedzi bez powtarzania callbacków

Żądania zachowują argumenty pozycyjne jako łańcuchy Unicode, łącznie z argumentami pustymi; sekwencja żądań startuje od zera dla każdej transakcji

Nieudane transakcje przywracają stan dokumentu i obiektów skryptowych i powiadamiają callback ukończenia z Committed=False; aplikacja musi wystage'ować albo skompensować swoje efekty zewnętrzne, bo rollback dokumentu nie cofa operacji zewnętrznej

Callbacki ukończenia wykonują się raz po udanej walidacji dokumentu i layoucie albo po rollbacku, przed normalnymi obserwatorami sukcesu; callbacki nie mogą podnosić wyjątków ani wchodzić ponownie do runtime

Callbacki hosta wymagają dostarczanej sesji QuickJS; własne callbacki JavaScriptEvaluator nie dostarczają kontraktu checkpoint i replay

Liczba żądań, liczba argumentów, zakodowane bajty żądań i bajty odpowiedzi mają niezależne dodatnie limity; czas callbacka liczy się do deadline transakcji, ale synchroniczny kod aplikacji nie może być wymuszanie przerwany

Funkcje skryptów otrzymują liczbę, Boolean, łańcuch, null albo undefined według Kind odpowiedzi; odpowiedzi numeryczne muszą być skończone, a odpowiedzi Unicode muszą zawierać poprawne pary surrogate

Powiązane API

Jawny XFA Host Transport, TXFAHostTransaction i Interaktywny runtime widgetów dynamicznego XFA