AttachComponent
Document parts, variable data, document editing
Description
Replaces the initial and current component snapshots of a TPDFlibDynamicComponentSession with fresh clones of a caller-owned component and clears all progress state
Syntax
Function TPDFlibDynamicComponentSession.AttachComponent(
AComponent: TPDFlibDynamicComponent): Integer;
Parameters
AComponent | Caller-owned component whose CloneComponent supplies both the new initial and the new current snapshot |
|---|
Remarks
Both clones are created before any stored snapshot is released, so a CloneComponent that returns Nil leaves the previous component, composition count, completion flag and retry state untouched
On success the session frees its old snapshots, stores the new pair and resets
CompositionCount to zero, Completed, KeepTogetherRetryPending, LastRetryReason and LastRequiredSlotHeight
The session never takes ownership of
AComponent
AttachComponent; only the clones are stored, so the caller keeps and frees the passed instance independently
The session constructor calls Nil, so a session created with a
Example
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;
Return values
1 | Both clones were created and committed as the new initial and current snapshots with all progress state cleared |
|---|---|
0 | AComponent is Nil or one of the CloneComponent calls returned Nil, and the previous snapshots and state are preserved |
See also
TPDFlibDynamicComponentSession, TPDFlibDynamicComponent, CloneComponent, CloneCurrentComponent, ComposeNextLayout