HPDFXFAResolveFieldValueNode

Unit: HPDFXFA

Declaración

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ámetroSignificado
DocumentEl documento XFA nativo dueño de los packets de campos, datos y formulario
FieldNodeEl campo de plantilla cuyo valor efectivo se solicita
DataNodeEl contexto de ocurrencia del dataset; los campos repetidos requieren su propio contexto de ocurrencia
CreateNodeFalse resuelve datos legibles, un valor de formulario o el valor por defecto de la plantilla; True devuelve un valor de instancia escribible
MaxNodesLa cota de ocurrencias pasada a la creación nativa de instancias de formulario

Comportamiento

Un nodo de dataset enlazado existente gana incluso cuando su contenido está vacío; un nodo ausente hace fallback al valor nativo de formulario correspondiente y luego al primer hijo de valor en el campo de plantilla

Un lookup de solo lectura no crea ningún nodo de dataset ni de formulario, y devuelve nil cuando ninguna de estas fuentes de valor existe

Con CreateNode en True, el binding normal de datos crea o devuelve el nodo de dataset escribible; un campo sin enlazar o un documento sin datasets escribibles usa en su lugar un valor nativo de formulario separado

Un nodo de dataset recién creado puede estar inicialmente vacío; el llamador suministra el valor confirmado en lugar de asignarlo a través de un valor por defecto de plantilla devuelto previamente

El nodo devuelto pertenece a Document y no debe ser liberado por el llamador; el lookup de solo lectura puede devolver un nodo compartido de plantilla, así que obtén un nodo escribible con CreateNode en True antes de cambiar su contenido

Un Document o FieldNode null devuelve nil; los índices excesivos de ocurrencias nativas de formulario o la profundidad de ancestros lanzan EHPDFXFAError a través del resolvedor de formularios

Consumidores

El overload con presupuesto comparte el allowance de operaciones y el deadline del llamador con la resolución nativa de bindings; un RemainingOperations de cero está agotado, un valor negativo deshabilita el allowance del llamador y un Deadline negativo deshabilita las verificaciones de tiempo transcurrido

DeadlineCheck puede suministrar el dominio de reloj del llamador; nil usa los milisegundos de GetTickCount64, mientras que el runtime interactivo suministra su verificación configurada de deadline monótono

Los escaneos de bindings retienen límites fijos de segmentos, profundidad de traversal y pasos cargados; los fallos de presupuesto lanzan EHPDFXFAError y las transacciones interactivas restauran su snapshot nativo

Consulta HPDFXFAResolveBoundDataNode y TXFABindingDeadlineCheck para los contratos de presupuesto de binding y callbacks

El runtime interactivo y la conversión XFA a AcroForm comparten este resolvedor, manteniendo consistentes los valores por defecto ausentes, los datos explícitamente vacíos y los valores de ocurrencias repetidas

Las ediciones y los cálculos interactivos readquieren un nodo de instancia escribible antes de confirmar, preservando el valor por defecto de la plantilla para las demás instancias

APIs relacionadas

Valores por defecto nativos de campos XFA, HPDFXFAResolveFormInstanceNode y Interactive Dynamic XFA Widget Runtime