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ámetro | Significado |
|---|---|
Document | El documento XFA nativo que posee los paquetes de campos, datos y formulario |
FieldNode | El campo de plantilla cuyo valor efectivo se solicita |
DataNode | El contexto de ocurrencia del dataset; los campos repetidos exigen su propio contexto de ocurrencia |
CreateNode | False resuelve datos legibles, un valor de formulario o el valor por defecto de la plantilla; True devuelve un valor de instancia escribible |
MaxNodes | El 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