HPDFXFAResolveFieldValueNode

Unit: HPDFXFA

Declaração

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean= False;
  MaxNodes: Integer= 65536): TXFANode; overload;

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean;
  MaxNodes: Integer; var RemainingOperations: Integer; Deadline: Int64;
  DeadlineCheck: TXFABindingDeadlineCheck = nil): TXFANode; overload;

Parâmetros

ParâmetroSignificado
DocumentO documento XFA nativo que é dono dos packets de campos, dados e formulários
FieldNodeO campo de template cujo valor efetivo é solicitado
DataNodeO contexto de ocorrência do dataset; campos repetidos exigem seu próprio contexto de ocorrência
CreateNodeFalse resolve dados legíveis, um valor de formulário ou o default do template; True retorna um valor de instância gravável
MaxNodesO bound de ocorrências passado à criação nativa de instâncias de formulário

Comportamento

Um nó de dataset vinculado existente vence mesmo quando seu conteúdo está vazio; um nó ausente faz fallback para o valor nativo correspondente de formulário e depois para o primeiro filho de valor no campo de template

Um lookup somente leitura não cria nó de dataset nem de formulário, e retorna nil quando nenhuma dessas fontes de valor existe

Com CreateNode True, o binding normal de dados cria ou retorna o nó gravável do dataset; um campo sem bind ou um documento sem datasets graváveis usa um valor nativo separado de formulário

Um nó de dataset recém-criado pode começar vazio; o chamador fornece o valor commitado em vez de atribuir através de um default de template retornado anteriormente

O nó retornado pertence a Document e não deve ser liberado pelo chamador; lookup somente leitura pode retornar um nó compartilhado de template, então obtenha um nó gravável com CreateNode True antes de mudar seu conteúdo

Document ou FieldNode null retorna nil; índices excessivos de ocorrências nativas de formulários ou profundidade de ancestrais disparam EHPDFXFAError pelo resolver de formulários

Consumers

O overload com orçamento compartilha a cota de operações e o deadline do chamador com a resolução nativa de bindings; RemainingOperations zero está esgotado, negativo desabilita a cota do chamador, e um Deadline negativo desabilita as checagens de tempo decorrido

DeadlineCheck pode fornecer o domínio de clock do chamador; nil usa os milissegundos de GetTickCount64, enquanto o runtime interativo fornece sua checagem configurada de deadline monotônico

Scans de bindings retêm limites fixos de segmentos, profundidade de traversal e steps cobrados; falhas de orçamento disparam EHPDFXFAError e transações interativas restauram seu snapshot nativo

Veja HPDFXFAResolveBoundDataNode e TXFABindingDeadlineCheck para os contratos de orçamento e callbacks de bindings

O runtime interativo e a conversão XFA AcroForm compartilham este resolver, mantendo consistentes defaults ausentes, dados explicitamente vazios e valores de ocorrências repetidas

Edições e cálculos interativos readquirem um nó gravável de instância antes de commitar, preservando o default do template para as outras instâncias

APIs relacionadas

Defaults nativos de campos XFA, HPDFXFAResolveFormInstanceNode e Runtime interativo de widgets XFA dinâmicos