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

ParametroSignificato
DocumentIl documento XFA nativo proprietario dei packet field, data e form
FieldNodeIl campo del template di cui si richiede il valore effettivo
DataNodeIl contesto di occorrenza del dataset; i campi ripetuti richiedono il proprio contesto di occorrenza
CreateNodeFalse risolve dati leggibili, un valore form o il default del template; True restituisce un valore di istanza scrivibile
MaxNodesIl 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