HPDFXFAResolveFieldValueNode
Unit: HPDFXFA
Dichiarazione
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;
Parametri
| Parametro | Significato |
|---|---|
Document | Il documento XFA nativo proprietario dei packet field, data e form |
FieldNode | Il campo del template di cui si richiede il valore effettivo |
DataNode | Il contesto di occorrenza del dataset; i campi ripetuti richiedono il proprio contesto di occorrenza |
CreateNode | False risolve dati leggibili, un valore form o il default del template; True restituisce un valore di istanza scrivibile |
MaxNodes | Il limite di occorrenze passato alla creazione nativa delle istanze del form |
Comportamento
Un nodo dataset già in binding vince anche quando il suo contenuto è vuoto; un nodo assente ricade sul valore form nativo corrispondente e poi sul primo figlio value nel campo del template
Una lookup read-only non crea nodi dataset o form, e restituisce nil quando nessuna di queste sorgenti di valore esiste
Con CreateNode True, il data binding normale crea o restituisce il nodo dataset scrivibile; un campo non in binding o un documento senza dataset scrivibili usa invece un valore form nativo separato
Un nodo dataset appena creato può inizialmente essere vuoto; il chiamante fornisce il valore committato invece di assegnare attraverso un default del template restituito in precedenza
Il nodo restituito appartiene a Document e non deve essere liberato dal chiamante; la lookup read-only può restituire un nodo template condiviso, quindi ottieni un nodo scrivibile con CreateNode True prima di modificarne il contenuto
Document o FieldNode null restituiscono nil; indici di occorrenza form nativi eccessivi o profondità degli antenati eccessiva sollevano EHPDFXFAError tramite il resolver del form
Utilizzatori
L'overload con budget condivide la quota di operazioni e il deadline del chiamante con la risoluzione nativa del binding; RemainingOperations pari a zero indica budget esaurito, un valore negativo disabilita la quota del chiamante e un Deadline negativo disabilita i controlli sul tempo trascorso
DeadlineCheck può fornire il dominio di clock del chiamante; nil usa i millisecondi di GetTickCount64, mentre il runtime interattivo fornisce il proprio controllo deadline monotonico configurato
Le scansioni di binding mantengono limiti fissi su segmenti, profondità di attraversamento e step addebitati; i fallimenti di budget sollevano EHPDFXFAError e le transazioni interattive ripristinano il loro snapshot nativo
Vedi HPDFXFAResolveBoundDataNode e TXFABindingDeadlineCheck per i contratti di budget di binding e callback
Il runtime interattivo e la conversione XFA AcroForm condividono questo resolver, mantenendo coerenti default mancanti, dati esplicitamente vuoti e valori di occorrenze ripetute
Modifiche e calcoli interattivi riacquisiscono un nodo istanza scrivibile prima di committare, preservando il default del template per le altre istanze
API correlate
Default nativi dei campi XFA, HPDFXFAResolveFormInstanceNode e Runtime interattivo dei widget XFA dinamici