HPDFXFACompileFormCalcEvent
单元: HPDFXFAEventScript
声明
function HPDFXFACompileFormCalcEvent(const Script: AnsiString;
const Limits: TXFAFormScriptLimits; out JavaScript: AnsiString;
out Diagnostic: string): Boolean;
行为
将受支持的 FormCalc 事件语法编译为 JavaScript 供有界事件宿主使用,且不执行编译结果
支持变量、条件、循环、带隐式结果的用户函数、算术运算、比较、连接、隐式字段赋值和通配符节点聚合
成功时返回 True 和编译后的 JavaScript;解析错误或超出编译器预算时返回 False 并填充 Diagnostic,不产出可用输出
输入是以 UTF-8 编码的 AnsiString;可通过 HPDFXFAExecuteJavaScriptEvent 执行结果,或使用 TXFAWidgetRuntime.DispatchEvent 做事务化发布
内置名称不区分大小写;事件宿主负责提供已实现的 FormCalc 函数库
Live SOM 访问器支持推断、绝对、相对和计算索引,通配符聚合,类与后代选择器,选中字段赋值以及 script-object 词法属性;谓词路径使用带引号的 resolver 字符串
Ref 区分普通值拷贝与显式对象句柄;变量和函数参数赋值保留显式句柄,标量赋值透过句柄写入,相等比较结果用数字 1 或 0
Eval 在常规执行期间编译动态提供的计算式,拥有独立的局部作用域并记录响应;仅编译外层事件不会执行也不会编译其动态源参数