CloneComponent

文档部件、可变数据、文档编辑

描述

TPDFlibDynamicComponent 的抽象方法,返回组件的独立于调用者的副本,包括所有可变分页状态

语法

Function TPDFlibDynamicComponent.CloneComponent:
  TPDFlibDynamicComponent; Virtual; Abstract;

备注

重写必须复制 Compose 会修改的每个字段,因为会话在一个工作克隆上进行组合,并且只有在该克隆的 Form XObject 通过验证并被放置后才提交该克隆 会话在多处依赖该克隆:

AttachComponent 为初始和当前快照克隆两次,ComposeNextLayout 为工作组件每次尝试克隆一次,CloneCurrentComponent 克隆已提交的快照以供检查

CloneComponent 的调用者拥有返回的实例,并独立于源组件释放它

Nil 结果会被会话视为克隆失败,随后会拒绝发起的操作,而不更改已存储的状态

示例

function TNumberedPagesComponent.CloneComponent:
  TPDFlibDynamicComponent;
begin
  Result := TNumberedPagesComponent.Create(FNextPage, FPageCount);
end;

返回值

新实例一个独立副本,其后续 Compose 调用不会影响源组件
Nil重写无法生成副本;会话将拒绝 AttachComponent 以及依赖该克隆的组合尝试

另请参阅

TPDFlibDynamicComponent、TPDFlibDynamicComponentSession、Compose、CloneCurrentComponent、AttachComponent