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âmetro | Significado |
|---|---|
Document | O documento XFA nativo dono dos pacotes de campos, dados e formulários |
FieldNode | O campo do template cujo valor efetivo é pedido |
DataNode | O contexto de ocorrências do dataset; campos repetidos exigem o contexto de ocorrências próprio deles |
CreateNode | False resolve dados legíveis, um valor de formulário ou o default do template; True devolve um valor de instância gravável |
MaxNodes | O 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