Orçamentos de implicit binding do XFA

Unit: HPDFXFARuntime

Valores implícitos existentes

Commitar um widget sem declaração explícita de bind pode resolver seu valor existente de nome de campo diretamente no grafo nativo de dados atual, sem escapar e parsear repetidamente esse nome como uma expressão SOM

Este lookup preserva a precedência original de first-record e descendentes, usa o contexto real repetido de dados e recheca os filhos vivos em cada commit; substituir um nó de valor não deixa a edição presa a um valor em cache já liberado

Um contexto repetido ainda precisa pertencer ao grafo de datasets atual antes que o lookup o desreferencie; remover esse contexto rejeita a transação e restaura o XML capturado e o estado de interação, em vez de sobrescrever uma ocorrência de substituição

Trabalho estrutural independente

Cada lookup nativo é delimitado por TXFAWidgetRuntimeOptions.MaxLayoutOperations, incluindo scans de metadados, traversal de contexto vivo e tamanho do nome do campo; o limite é checado antes de adicionar entradas de traversal

Scans maiores checam o mesmo deadline de transação a cada 256 steps nativos cobrados; lookups menores preservam a sequência existente do relógio do evaluator e recebem a duração restante da transação na fronteira normal de script

Declarações explícitas de bind, valores ausentes, criação e casos que exigem resolução geral de descendentes continuam pelo resolver SOM existente e seus orçamentos de operações de script e de tempo decorrido de toda a transação

Comportamento transacional

Uma checagem de validação, cálculo ou deadline com falha restaura os dados commitados e preserva o candidato pendente, o estado de edição e o focus; CancelEdit descarta o candidato sem mudar o valor nativo commitado

Callbacks da aplicação que alteram o documento antes de uma transação precisam deixar um grafo válido sob os limites de layout configurados, porque o rollback reconstrói os widgets sob esses mesmos limites

APIs relacionadas

TXFAWidgetRuntimeOptions, Bind SOM nativo e Runtime interativo de widgets