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