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