HPDFXFAResolveFieldValueNode

Unidade: HPDFXFA

Declaration

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 dono dos pacotes de campos, dados e formulários
FieldNodeO campo do template cujo valor efetivo é pedido
DataNodeO contexto de ocorrências do dataset; campos repetidos exigem o contexto de ocorrências próprio deles
CreateNodeFalse resolve dados legíveis, um valor de formulário ou o default do template; True devolve um valor de instância gravável
MaxNodesO limite de ocorrências passado à criação nativa de instâncias de formulários

Comportamento

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

Uma consulta só de leitura não cria um nó de datasets nem de formulários, e devolve nil quando nenhuma destas fontes de valores existe

Com CreateNode True, o binding normal de dados cria ou devolve o nó gravável de datasets; um campo não vinculado ou um documento sem datasets graváveis usa um valor de formulário nativo separado em vez disso

Um nó de datasets recém-criado pode inicialmente estar vazio; quem chama fornece o valor confirmado em vez de atribuir através de um default de template previamente devolvido

O nó devolvido pertence a Document e não deve ser libertado por quem chama; a consulta só de leitura pode devolver um nó partilhado de templates, por isso obtenha um nó gravável com CreateNode True antes de alterar o conteúdo dele

Document ou FieldNode null devolvem nil; índices excessivos de ocorrências de formulários nativos ou profundidade de ancestrais levantam EHPDFXFAError através do resolver de formulários

Consumidores

A sobrecarga com orçamento partilha a quota de operações e o prazo de quem chama com a resolução nativa de bindings; RemainingOperations zero está esgotada, negativa desativa a quota de quem chama, e um Deadline negativo desativa as verificações de tempo decorrido

DeadlineCheck pode fornecer o domínio de relógio de quem chama; nil usa os milissegundos de GetTickCount64, enquanto o runtime interativo fornece a verificação configurada dele de prazos monoatónicos

Varreduras de bindings mantêm limites fixos de segmentos, profundidade de travessia e passos cobrados; falhas de orçamento levantam EHPDFXFAError e transações interativas restauram o snapshot nativo delas

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

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

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

APIs relacionadas

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