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