THPDFQuickJS.Eval
Unit: HPDFQuickJS
선언
function Eval(const Script: string): THPDFQuickJSResult; overload;
function Eval(const Script: string; TimeoutMs: Cardinal;
MaxInterruptChecks: NativeUInt): THPDFQuickJSResult; overload;
동작
엔진 컨텍스트에서 JavaScript를 실행하고 성공, 값, 오류 텍스트, 상태를 반환
원래 오버로드는 생성자 한도를 씁니다. 추가 오버로드는 평가별 타임아웃과 인터럽트 한도를 공급하되 메모리, 스택, 스크립트 크기 한도는 유지합니다
0 타임아웃이나 0 인터럽트 한도는 대응하는 평가 경계를 끕니다. 트랜잭션 마감을 강제하는 호출자는 전체 타임아웃을 다시 시작하는 대신 남은 시간을 넘기세요
XFA 세션은 이 오버로드로 재생과 현재 실행에 하나의 경과 예산을 공유합니다
Delphi의 결과와 진단은 Unicode 문자열을 씁니다. Free Pascal은 브리지 UTF-8 바이트를 보존하고 관리 문자열을 UTF-8로 태깅해 시스템 ANSI 코드 페이지를 통한 변환을 피합니다
JavaScript 산술은 호출 애플리케이션이 네이티브 부동소수점 트랩을 켰더라도 NaN, Infinity, 오버플로, 언더플로에 IEEE 동작을 따릅니다
엔진은 초기화와 평가 동안 부동소수점 예외를 일시적으로 마스크하고, 엔진이 만든 플래그를 지우고, 반환하거나 예외를 전파하기 전에 호출 스레드의 원래 예외 마스크를 복원합니다. XFA 요청 중단 뒤 호출되는 애플리케이션 콜백은 복원된 네이티브 마스크로 실행됩니다
관련 API
TXFAJavaScriptSession, HPDFXFAExecuteJavaScriptEvent, 인터랙티브 Dynamic XFA 위젯 런타임