THPDFQuickJS.Eval
Unit: HPDFQuickJS
Deklaration
function Eval(const Script: string): THPDFQuickJSResult; overload;
function Eval(const Script: string; TimeoutMs: Cardinal;
MaxInterruptChecks: NativeUInt): THPDFQuickJSResult; overload;
Beteende
Kör JavaScript i motorns kontext och returnerar framgång, värde, feltext och status
Den ursprungliga overladen använder konstruktorgränserna; den tillagda overladen tillhandahåller timeout- och avbrottsgränser per evaluering samtidigt som gränserna för minne, stack och skriptstorlek behålls
Timeout eller avbrottsgräns med värdet noll inaktiverar motsvarande evalueringsgräns; anropare som genomdriver en transaktionsdeadline skickar med den återstående tiden i stället för att starta om en full timeout
XFA-sessionen använder denna overload för att dela en enda förfluten budget mellan replay och aktuell körning
Delphi-resultat och diagnostik använder Unicode-strängar; Free Pascal bevarar bryggans UTF-8-bytes och markerar den hanterade strängen som UTF-8, vilket undviker konvertering via systemets ANSI-kodtabell
JavaScript-aritmetik följer IEEE-beteende för NaN, Infinity, overflow och underflow även när den anropande applikationen aktiverar nativa floating-point-traps
Motorn maskerar tillfälligt flyttalsundantag under initiering och evaluering, rensar flaggor som producerats av motorn, och återställer den anropande trådens ursprungliga undantagsmask innan den returnerar eller fortplantar ett undantag; applikationscallbacks som anropas efter suspension av XFA-förfrågningar körs med den återställda nativa masken
Relaterade API:er
TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent och Interaktiv runtime för dynamiska XFA-widgets