Запись THPDFJavaScriptEvaluationResult
Исход безопасного вычисления JavaScript поля формы: флаги выполнения и принятия, результирующее значение, число операций, текст ошибки, затраченное время и размер значения
Объявление
THPDFJavaScriptEvaluationResult= record
Executed: boolean;
Accepted: boolean;
Value: AnsiString;
OperationCount: Integer;
ErrorText: AnsiString;
ElapsedMilliseconds: Cardinal;
ValueBytes: Int64;
end;
Модуль
HPDFDoc
Поля
| Поле | Назначение |
|---|---|
Executed | true, когда действие JavaScript, привязанное к триггеру поля, реально выполнилось в безопасном интерпретаторе |
Accepted | true, когда sandbox принял результат скрипта; отклонённые результаты нельзя записывать обратно в поле |
Value | Значение поля после прогона: вывод интерпретатора при принятии, иначе переданное входное значение |
OperationCount | Операции интерпретатора, потраченные скриптом, против настроенного бюджета скрипта |
ErrorText | Описание сбоя — например, что триггер поля не несёт действия JavaScript, — или сообщение об ошибке sandbox |
ElapsedMilliseconds | Длительность вычисления по настенным часам |
ValueBytes | Длина результирующего значения в байтах, против бюджета размера вывода |
Примечания по использованию
- Заполняется методом
THotPDF.EvaluateLoadedFieldJavaScript; при результатеfalseзапись всё равно объясняет причину, как правило вErrorText - Записывайте
Valueобратно в поле, только когдаAcceptedравенtrue; helper'ы инкрементального пересчёта следуют ровно этому правилу - Используйте
OperationCount,ValueBytesиElapsedMillisecondsвместе со свойствомFormScriptBudgetsдля диагностики нарушений бюджета