AttachComponent
文档部件、可变数据、文档编辑
描述
用调用者拥有的组件的新克隆替换 TPDFlibDynamicComponentSession 的初始和当前组件快照,并清除所有进度状态
语法
Function TPDFlibDynamicComponentSession.AttachComponent(
AComponent: TPDFlibDynamicComponent): Integer;
参数
AComponent | 调用者拥有的组件,其 CloneComponent 提供新的初始快照和新的当前快照 |
|---|
备注
两个克隆都会在任何已存储快照被释放之前创建,因此 CloneComponent 返回 Nil 时,之前的组件、组合计数、完成标志和重试状态保持不变
成功时会话会释放旧快照,存储新的快照对,并将
CompositionCount 重置为零,同时重置 Completed、KeepTogetherRetryPending、LastRetryReason 和 LastRequiredSlotHeight
会话从不取得
AComponent
AttachComponent 的所有权;只存储克隆,因此调用者可以独立持有并释放传入的实例
会话构造函数会调用 Nil,因此用
示例
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;
返回值
1 | 两个克隆均已创建并提交为新的初始和当前快照,且所有进度状态已清除 |
|---|---|
0 | AComponent 为 Nil 或某个 CloneComponent 调用返回了 Nil,此时之前的快照和状态保持不变 |
另请参阅
TPDFlibDynamicComponentSession、TPDFlibDynamicComponent、CloneComponent、CloneCurrentComponent、ComposeNextLayout