CloneComponent

ドキュメントパーツ、可変データ、ドキュメント編集

説明

すべての可変ページネーション状態を含むコンポーネントの、呼び出し元に依存しないコピーを返す、TPDFlibDynamicComponentの抽象メソッドです

構文

Function TPDFlibDynamicComponent.CloneComponent:
  TPDFlibDynamicComponent; Virtual; Abstract;

備考

オーバーライドは、Composeが変更するすべてのフィールドをコピーしなければなりません。セッションは作業用クローン上で合成を行い、そのクローンのフォームXObjectが検証され配置された後にのみコミットするためです セッションはクローンを複数の場所で利用します。

AttachComponentは初期と現在のスナップショットのために2回クローンし、ComposeNextLayoutは作業コンポーネントのために試行ごとに1回クローンし、CloneCurrentComponentは検査のためにコミット済みスナップショットをクローンします

CloneComponentの呼び出し元は返されたインスタンスを所有し、ソースコンポーネントとは独立してそれを解放します

Nilの結果はセッションによってクローン失敗として扱われ、その場合セッションは保存された状態を変更せずに、発生源の操作を拒否します

例

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

戻り値

新しいインスタンス独立したコピー。その後のCompose呼び出しはソースコンポーネントに影響を与えません
Nilオーバーライドがコピーを生成できなかった。セッションはそのクローンに依存するAttachComponentと合成の試行を拒否します

関連項目

TPDFlibDynamicComponent、TPDFlibDynamicComponentSession、Compose、CloneCurrentComponent、AttachComponent