Explicit XFA Host Transport
Birim: HPDFXFARuntime
Bildirim
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostTransport := ApplicationHost.Transport;
Options.OnHostTransactionCompleted := ApplicationHost.Completed;
Davranış
xfa.host.messageBox, response, beep, print, gotoURL, submitForm, importData ve exportData ile FormCalc Get, Post ve Put yürütmek için açık uygulama callback'leri yapılandırın
Kütüphane, otomatik olarak hiçbir dialog, reader, ağ isteği veya dosya aktarımı çağırmaz; callback, uygulama transport'unu uygular ve typed bir yanıt döndürür
Her dağıtılmış istek, kapsayan bir runtime transaction'ı içinde bir kez çalışır; QuickJS askıya alma yeniden denemeleri ve taahhüt-oturumu replay'i, callback'leri tekrar etmeden kaydedilmiş yanıtları tüketir
İstekler, konumsal argümanları Unicode dizeler olarak korur; boş argümanlar dâhil; istek sırası her transaction için sıfırdan başlar
Başarısız transaction'lar belgeyi ve script-nesnesi durumunu geri yükler ve tamamlama callback'ini Committed=False ile bilgilendirir; uygulama, harici etkilerini hazırlamalı veya telafi etmelidir çünkü belge rollback'i harici bir işlemi geri alamaz
Tamamlama callback'leri, başarılı belge doğrulaması ve layout'tan veya rollback'ten sonra, normal başarı gözlemcilerinden önce bir kez çalışır; callback'ler exception fırlatmamalı veya runtime'a yeniden girmemelidir
Host callback'leri, gemicik QuickJS oturumunu gerektirir; özel JavaScriptEvaluator callback'leri, checkpoint ve replay sözleşmesini sağlamaz
İstek sayısı, argüman sayısı, kodlanmış istek baytları ve yanıt baytları bağımsız pozitif sınırlara sahiptir; callback geçen süresi, transaction son teslim süresinden düşer ama senkron uygulama kodu zorla durdurulamaz
Script fonksiyonları, yanıt Kind'ına göre number, Boolean, string, null veya undefined alır; sayısal yanıtlar sonlu olmalı ve Unicode yanıtlar geçerli surrogate çiftleri içermelidir
İlgili API'ler
Explicit XFA Host Transport, TXFAHostTransaction ve Interactive Dynamic XFA Widget Runtime