THPDFQuickJS.Eval

单元: HPDFQuickJS

声明

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

行为

在引擎上下文中执行 JavaScript 并返回成功标志、值、错误文本和状态

原始重载使用构造时的限制;新增重载为单次求值提供超时与中断上限,同时保留内存、栈和脚本大小限制

超时或中断限制为零时表示禁用对应的上限;需要执行事务截止期限的调用方应传入剩余时间,而不是重启一个完整的超时

XFA session 用这个重载在重放与当前执行之间共享同一个耗时预算

Delphi 的结果与诊断使用 Unicode 字符串;Free Pascal 保留桥接的 UTF-8 字节并把托管字符串标记为 UTF-8,避免经由系统 ANSI 代码页转换

即使调用方应用启用了原生浮点陷阱,JavaScript 算术仍遵循 IEEE 对 NaN、Infinity、上溢和下溢的行为

引擎在初始化和求值期间临时屏蔽浮点异常,清除引擎产生的标志,并在返回或传播异常之前恢复调用线程的原始异常掩码;XFA 请求挂起后被调用的应用回调在恢复的原生掩码下运行

相关 API

TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent and 交互式动态 XFA Widget 运行时