TXFAWidgetRuntimeOptions
Unité : HPDFXFARuntime
Déclaration
TXFAWidgetRuntimeOptions= record
MaxWidgets, MaxValueChars, MaxCalculationPasses, MaxReflowPasses, MaxLayoutOperations: Integer;
ScriptOptions: TXFAFormScriptOptions;
HostTransport: TXFAHostTransport;
OnHostTransactionCompleted: TXFAHostTransactionCompleted;
HostTransportLimits: TXFAHostTransportLimits;
HostModel: TXFAHostModelState;
MeasureText: TXFAMeasureTextFunc;
ResolveInstanceProperty: TXFAResolveInstanceProperty;
ResolveInstanceScope: TXFAResolveInstanceScope;
ResolveWidgetIdentity: TXFAResolveWidgetIdentity;
ResolutionStarted: TXFAResolutionStarted;
ValidateDocument: TXFAUpdateDocumentAction;
MonotonicMilliseconds: TXFAMonotonicMillisecondsFunc;
class function Default: TXFAWidgetRuntimeOptions; static;
end;
Comportement
Appelez Default avant de configurer le record ; il initialise les limites de widgets, calculs, reflow, layout, scripts et transport de host avec des callbacks optionnels nil
ScriptOptions.EnableJavaScript active les événements QuickJS généraux et objets de script ; HostTransport et OnHostTransactionCompleted fournissent les effets applicatifs explicites et la coordination des issues de transactions
Les callbacks de résolution d'instances et de widgets prennent en charge des profils de présentation indépendants ; MonotonicMilliseconds peut fournir une horloge applicative pour les budgets de temps écoulé
HostModel part de TXFAHostModelState.Default ; fournissez les métadonnées applicatives, le titre et les drapeaux de calcul/validation avant la construction, tandis que le layout et l'interaction du runtime déterminent les pages et le focus réels
Les bindings de données implicites existants utilisent une recherche native vivante bornée indépendamment par MaxLayoutOperations, avec des vérifications d'échéance de transaction pendant les scans plus larges ; ils ne consomment pas ScriptOptions.Limits.MaxOperations comme du parsing SOM répété
Les sélecteurs de bind explicites, la création de valeurs manquantes et les autres opérations de script conservent leurs limites à l'échelle de la transaction ; voir Budgets de binding implicite pour le comportement de recherche, rollback et échéance
API associées
Transport de host XFA explicite, TXFAHostTransaction et Runtime de widgets XFA dynamique interactif