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