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 dueño de los packets 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 requieren 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 | La 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