HPDFXFAResolveFieldValueNode

Unit: HPDFXFA

Declaration

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;

Parameters

ParametrZnaczenie
DocumentNatywny dokument XFA posiadający pakiety pól, danych i formularza
FieldNodePole szablonu, którego efektywna wartość jest żądana
DataNodeKontekst wystąpienia dataset; powtarzalne pola wymagają własnego kontekstu wystąpienia
CreateNodeFalse rozpoznaje czytelne dane, wartość formularza albo default szablonu; True zwraca zapisywalną wartość instancji
MaxNodesGranica wystąpień przekazywana do natywnego tworzenia instancji formularza

Behavior

Istniejący związany węzeł dataset wygrywa nawet, gdy jego zawartość jest pusta; brakujący węzeł robi fallback do odpowiadającej natywnej wartości formularza, a potem do pierwszego potomka value w polu szablonu

Odpytanie tylko do odczytu nie tworzy węzła dataset ani formularza i zwraca nil, gdy żadne z tych źródeł wartości nie istnieje

Przy CreateNode True zwykłe powiązanie danych tworzy albo zwraca zapisywalny węzeł dataset; niepowiązane pole albo dokument bez zapisywalnych datasets używa odrębnej natywnej wartości formularza

Nowo utworzony węzeł dataset może początkowo być pusty; wywołujący dostarcza zacommitowaną wartość zamiast przypisywać przez wcześniej zwrócony default szablonu

Zwrócony węzeł należy do Document i nie może być zwalniany przez wywołującego; odpytanie tylko do odczytu może zwrócić współdzielony węzeł szablonu, więc uzyskaj zapisywalny węzeł z CreateNode True przed zmienianiem jego zawartości

Null Document albo FieldNode zwraca nil; nadmierne natywne indeksy wystąpień formularza albo głębokość przodków podnoszą EHPDFXFAError przez resolver formularza

Consumers

Budżetowane przeciążenie dzieli przydział operacji i deadline wywołującego z natywnym rozpoznawaniem powiązań; zero RemainingOperations to wyczerpanie, ujemny wyłącza przydział wywołującego, a ujemny Deadline wyłącza sprawdzenia upływu czasu

DeadlineCheck może dostarczyć domenę zegara wywołującego; nil używa milisekund GetTickCount64, podczas gdy interaktywny runtime dostarcza swój skonfigurowany monotonny check deadline'u

Skanowanie powiązań zachowuje stałe limity segmentów, głębokości traversalu i obciążonych kroków; awarie budżetu podnoszą EHPDFXFAError, a interaktywne transakcje przywracają swój natywny snapshot

Zobacz HPDFXFAResolveBoundDataNode i TXFABindingDeadlineCheck po kontrakty budżetu powiązań i callbacków

Interaktywny runtime i konwersja XFA AcroForm dzielą ten resolver, utrzymując spójność brakujących defaultów, jawnie pustych danych i wartości powtarzalnych wystąpień

Interaktywne edycje i obliczenia ponownie nabywają zapisywalny węzeł instancji przed commitem, zachowując default szablonu dla innych instancji

Related APIs

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