AttachComponent
Parti del documento, dati variabili, modifica dei documenti
Descrizione
Sostituisce gli snapshot iniziale e corrente del componente di una TPDFlibDynamicComponentSession con cloni nuovi di un componente di proprietà del chiamante e azzera tutto lo stato di avanzamento
Sintassi
Function TPDFlibDynamicComponentSession.AttachComponent(
AComponent: TPDFlibDynamicComponent): Integer;
Parametri
AComponent | Componente di proprietà del chiamante il cui CloneComponent fornisce sia il nuovo snapshot iniziale sia quello corrente |
|---|
Note
Entrambi i cloni vengono creati prima che qualsiasi snapshot memorizzato venga rilasciato, quindi un CloneComponent che restituisce Nil lascia intatti il componente precedente, il conteggio delle composizioni, il flag di completamento e lo stato dei tentativi
In caso di successo la sessione libera i suoi vecchi snapshot, memorizza la nuova coppia e azzera
CompositionCount, Completed, KeepTogetherRetryPending, LastRetryReason e LastRequiredSlotHeight
La sessione non acquisisce mai la proprietà di
AComponent
AttachComponent; vengono memorizzati solo i cloni, quindi il chiamante conserva e libera l'istanza passata in modo indipendente
Il costruttore della sessione chiama Nil, quindi una sessione creata con un componente
Esempio
Replacement := TNumberedPagesComponent.Create(1, 5);
try
if Session.AttachComponent(Replacement) = 1 then
Status := Session.ComposeNext(PageNumber, 36, 36, 540, 720,
Placement);
finally
Replacement.Free;
end;
Valori restituiti
1 | Entrambi i cloni sono stati creati e confermati come nuovi snapshot iniziale e corrente, con tutto lo stato di avanzamento azzerato |
|---|---|
0 | AComponent è Nil oppure una delle chiamate a CloneComponent ha restituito Nil, e gli snapshot e lo stato precedenti sono conservati |
Vedere anche
TPDFlibDynamicComponentSession, TPDFlibDynamicComponent, CloneComponent, CloneCurrentComponent, ComposeNextLayout