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ètreSignification
DocumentLe document XFA natif qui possède les packets de champs, de données et de formulaire
FieldNodeLe champ de template dont la valeur effective est demandée
DataNodeLe contexte d'occurrence du dataset ; les champs répétés exigent leur propre contexte d'occurrence
CreateNodeFalse 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
MaxNodesLa 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