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