THPDFQuickJS.Eval

Unità: HPDFQuickJS

Dichiarazione

function Eval(const Script: string): THPDFQuickJSResult; overload;
function Eval(const Script: string; TimeoutMs: Cardinal;
  MaxInterruptChecks: NativeUInt): THPDFQuickJSResult; overload;

Comportamento

Esegue JavaScript nel contesto del motore e restituisce successo, valore, testo d'errore e stato

L'overload originale usa i limiti del costruttore; l'overload aggiuntivo fornisce limiti di timeout e interrupt per singola valutazione conservando i limiti su memoria, stack e dimensione dello script

Un timeout o limite di interrupt a zero disabilita il corrispondente vincolo di valutazione; i chiamanti che impongono una deadline di transazione passano il tempo rimanente invece di riavviare un timeout completo

La sessione XFA usa questo overload per condividere un unico budget di tempo trascorso tra replay ed esecuzione corrente

Risultati e diagnostica Delphi usano stringhe Unicode; Free Pascal conserva i byte UTF-8 del bridge e marca la stringa gestita come UTF-8, evitando la conversione tramite la code page ANSI di sistema

L'aritmetica JavaScript segue il comportamento IEEE per NaN, Infinity, overflow e underflow anche quando l'applicazione chiamante abilita i trap nativi in virgola mobile

Il motore maschera temporaneamente le eccezioni in virgola mobile durante inizializzazione e valutazione, azzera i flag prodotti dal motore e ripristina la maschera eccezioni originale del thread chiamante prima di restituire o propagare un'eccezione; i callback dell'applicazione invocati dopo la sospensione di una richiesta XFA girano con la maschera nativa ripristinata

API correlate

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent e Runtime interattivo per widget XFA dinamici