HPDFXFAResolveFieldValueNode
Unité : HPDFXFA
Déclaration
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;
Paramètres
| Paramètre | Signification |
|---|---|
Document | Le document XFA natif qui possède les packets de champs, de données et de formulaire |
FieldNode | Le champ de template dont la valeur effective est demandée |
DataNode | Le contexte d'occurrence du dataset ; les champs répétés exigent leur propre contexte d'occurrence |
CreateNode | False résout des données lisibles, une valeur de formulaire ou la valeur par défaut du template ; True retourne une valeur d'instance inscriptible |
MaxNodes | La borne d'occurrences passée à la création native d'instances de formulaire |
Comportement
Un nœud de dataset lié existant gagne même quand son contenu est vide ; un nœud manquant retombe sur la valeur de formulaire native correspondante puis sur le premier enfant value du champ de template
Une consultation en lecture seule ne crée ni nœud de dataset ni nœud de formulaire, et retourne nil quand aucune de ces sources de valeurs n'existe
Avec CreateNode True, le data binding normal crée ou retourne le nœud de dataset inscriptible ; un champ non lié ou un document sans datasets inscriptibles utilise à la place une valeur de formulaire native séparée
Un nœud de dataset nouvellement créé peut initialement être vide ; l'appelant fournit la valeur validée plutôt que d'affecter via une valeur par défaut de template précédemment retournée
Le nœud retourné appartient à Document et ne doit pas être libéré par l'appelant ; une consultation en lecture seule peut retourner un nœud de template partagé, obtenez donc un nœud inscriptible avec CreateNode True avant de changer son contenu
Un Document ou FieldNode null retourne nil ; des index d'occurrences de formulaires natifs excessifs ou une profondeur d'ancêtres excessive lèvent EHPDFXFAError via le résolveur de formulaires
Consommateurs
L'overload budgété partage l'allocation d'opérations et l'échéance de l'appelant avec la résolution native de bindings ; un RemainingOperations zéro est épuisé, un négatif désactive l'allocation de l'appelant et un Deadline négatif désactive les vérifications de temps écoulé
DeadlineCheck peut fournir le domaine d'horloge de l'appelant ; nil utilise les millisecondes de GetTickCount64, tandis que le runtime interactif fournit sa vérification d'échéance monotone configurée
Les scans de binding conservent des limites fixes de segments, de profondeur de parcours et d'étapes facturées ; les échecs de budget lèvent EHPDFXFAError et les transactions interactives restaurent leur snapshot natif
Voir HPDFXFAResolveBoundDataNode et TXFABindingDeadlineCheck pour les contrats de budget de binding et de callbacks
Le runtime interactif et la conversion AcroForm XFA partagent ce résolveur, en gardant cohérentes les valeurs par défaut manquantes, les données explicitement vides et les valeurs d'occurrences répétées
Les éditions et calculs interactifs réacquièrent un nœud d'instance inscriptible avant validation, préservant la valeur par défaut du template pour les autres instances
APIs associées
Valeurs par défaut de champs XFA natives, HPDFXFAResolveFormInstanceNode et Runtime XFA dynamique interactif