HPDFXFAResolveFieldValueNode

Unit: HPDFXFA

Deklarace

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;

Parametry

ParametrVýznam
DocumentNativní XFA dokument vlastnící packety pole, dat i formuláře
FieldNodeŠablonové pole, jehož efektivní hodnota je vyžadovaná
DataNodeKontext výskytu datasetu; opakovaná pole vyžadují vlastní kontext výskytu
CreateNodeFalse rozřeší čitelná data, form hodnotu či šablonový default; True vrací zapisovatelnou instanční hodnotu
MaxNodesMez výskytů předávaná nativní tvorbě form instancí

Chování

Existující navázaný dataset uzel vyhrává, i když je jeho obsah prázdný; chybějící uzel spadne na odpovídající nativní form hodnotu a pak na první value potomka v šablonovém poli

Read-only vyhledání nevytvoří dataset ani form uzel a vrátí nil, když žádný z těch zdrojů hodnoty neexistuje

S CreateNode True vytvoří běžný datový binding, nebo vrátí zapisovatelný dataset uzel; nevázané pole či dokument bez zapisovatelných datasetů použije samostatnou nativní form hodnotu

Nově vytvořený dataset uzel může být zpočátku prázdný; potvrzenou hodnotu dodá volající, místo aby přiřazoval přes dříve vrácený šablonový default

Vrácený uzel patří Document a volající ho nesmí uvolnit; read-only vyhledání může vrátit sdílený šablonový uzel, takže před změnou jeho obsahu získejte zapisovatelný uzel přes CreateNode True

Null Document či FieldNode vrátí nil; nadměrné indexy nativních form výskytů či hloubky předků vyhodí přes form resolver EHPDFXFAError

Konzumenté

Rozpočtovaný overload sdílí příspěvek operací i deadline volajícího s nativním rozřešováním bindingů; nulové RemainingOperations znamená vyčerpáno, záporné vypne příspěvek volajícího a záporný Deadline vypne kontroly uplynulého času

DeadlineCheck může dodávat doménu hodin volajícího; nil použije milisekundy GetTickCount64, zatímco interaktivní runtime dodá svou nakonfigurovanou kontrolu monotónního deadline

Binding skeny si uchovávají pevné limity segmentů, hloubky traversal i účtovaných kroků; selhání rozpočtů vyhodí EHPDFXFAError a interaktivní transakce obnoví svůj nativní snapshot

Kontrakty binding rozpočtů i callbacků popisují HPDFXFAResolveBoundDataNode a TXFABindingDeadlineCheck

Interaktivní runtime i konverze XFA AcroForm sdílejí tenhle resolver, čímž zůstávají chybějící defaulty, explicitně prázdná data i hodnoty opakovaných výskytů konzistentní

Interaktivní editace i výpočty získají zapisovatelný instanční uzel znovu před commitem, se zachováním šablonového defaultu pro jiné instance

Související API

Nativní XFA defaulty polí, HPDFXFAResolveFormInstanceNode a Interactive Dynamic XFA Widget Runtime