THPDFQuickJS.Eval
Birim: HPDFQuickJS
Bildirim
function Eval(const Script: string): THPDFQuickJSResult; overload;
function Eval(const Script: string; TimeoutMs: Cardinal;
MaxInterruptChecks: NativeUInt): THPDFQuickJSResult; overload;
Davranış
JavaScript'i motor context'inde yürütür ve başarı, değer, hata metni ve durum döndürür
Orijinal overload, constructor sınırlarını kullanır; ek overload, değerlendirme-başına timeout ve interrupt sınırları sağlarken bellek, stack ve script-boyutu sınırlarını korur
Sıfır bir timeout veya interrupt sınırı, karşılık gelen değerlendirme sınırını devre dışı bırakır; transaction son teslim süresi uygulayan çağıranlar, tam bir timeout'u yeniden başlatmak yerine kalan süreyi geçirir
XFA oturumu, replay ve güncel yürütme boyunca tek bir geçen bütçeyi paylaşmak için bu overload'ı kullanır
Delphi sonuçları ve tanılar Unicode dizeler kullanır; Free Pascal, bridge UTF-8 baytlarını korur ve managed string'i UTF-8 olarak etiketler; sistem ANSI code page üzerinden dönüşümden kaçınır
JavaScript aritmetiği, çağıran uygulama native floating-point tuzakları etkinleştirse bile NaN, Infinity, taşma ve taşmada IEEE davranışını izler
Motor, başlatma ve değerlendirme sırasında floating-point exception'ları geçici olarak maskeler, motor tarafından üretilen bayrakları temizler ve döndürmeden veya exception yaymadan önce çağıran iş parçacığının orijinal exception maskesini geri yükler; XFA istek askıya alınmasından sonra çağrılan uygulama callback'leri, geri yüklenmiş native maskeyle çalışır
İlgili API'ler
TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent ve Interactive Dynamic XFA Widget Runtime