THPDFQuickJS.Eval

Unidad: HPDFQuickJS

Declaración

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

Comportamiento

Ejecuta JavaScript en el contexto del motor y devuelve éxito, valor, texto de error y estado

La sobrecarga original usa los límites del constructor; la sobrecarga adicional suministra límites de timeout e interrupción por evaluación mientras conserva los límites de memoria, stack y tamaño de script

Un timeout o límite de interrupción de cero desactiva esa cota de evaluación correspondiente; los llamadores que imponen un deadline de transacción pasan el tiempo restante en lugar de reiniciar un timeout completo

La sesión XFA usa esta sobrecarga para compartir un único presupuesto de tiempo transcurrido entre el replay y la ejecución actual

Los resultados y diagnósticos de Delphi usan strings Unicode; Free Pascal conserva los bytes UTF-8 del puente y marca el string gestionado como UTF-8, evitando la conversión a través de la code page ANSI del sistema

La aritmética de JavaScript sigue el comportamiento IEEE para NaN, Infinity, overflow y underflow incluso cuando la aplicación llamadora habilita traps nativos de coma flotante

El motor enmascara temporalmente las excepciones de coma flotante durante la inicialización y la evaluación, limpia los flags producidos por el motor y restaura la máscara de excepciones original del hilo llamador antes de devolver o propagar una excepción; los callbacks de la aplicación invocados tras la suspensión de una petición XFA se ejecutan con la máscara nativa restaurada

APIs relacionadas

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent y Runtime interactivo de widgets XFA dinámicos