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