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 que posee los paquetes de campos, datos y formulario
FieldNodeEl campo de plantilla cuyo valor efectivo se solicita
DataNodeEl contexto de ocurrencia del dataset; los campos repetidos exigen 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
MaxNodesEl límite de ocurrencias pasado 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 recurre al valor nativo de formulario correspondiente y después al primer hijo de valor del campo de plantilla

Una búsqueda 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 asignar a través de un valor por defecto de plantilla devuelto previamente

El nodo devuelto pertenece a Document y no debe liberarlo el llamador; la búsqueda de solo lectura puede devolver un nodo de plantilla compartido, así que obtén un nodo escribible con CreateNode True antes de cambiar su contenido

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

Consumidores

La sobrecarga con presupuesto comparte la concesión de operaciones y el plazo del llamador con la resolución nativa de bindings; un RemainingOperations de cero significa agotado, un valor negativo desactiva la concesión del llamador y un Deadline negativo desactiva las comprobaciones de tiempo transcurrido

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

Los escaneos de binding conservan límites fijos de segmentos, profundidad de recorrido 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 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 interactivas y los cálculos readquieren un nodo de instancia escribible antes de confirmar, preservando el valor por defecto de la plantilla para otras instancias

APIs relacionadas

Native XFA Field Defaults, HPDFXFAResolveFormInstanceNode y Interactive Dynamic XFA Widget Runtime