AttachComponent
문서 파트, 가변 데이터, 문서 편집
설명
TPDFlibDynamicComponentSession의 초기 및 현재 컴포넌트 스냅샷을 호출자 소유 컴포넌트의 새 클론으로 대체하고 모든 진행 상태를 지웁니다
구문
Function TPDFlibDynamicComponentSession.AttachComponent(
AComponent: TPDFlibDynamicComponent): Integer;
매개변수
AComponent | CloneComponent가 새 초기 스냅샷과 새 현재 스냅샷을 모두 제공하는 호출자 소유 컴포넌트 |
|---|
비고
두 클론은 저장된 스냅샷이 해제되기 전에 모두 생성되므로 CloneComponent을 반환하는 Nil는 이전 컴포넌트, 컴포지션 카운트, 완료 플래그, 재시도 상태를 그대로 유지합니다
성공하면 세션은 이전 스냅샷을 해제하고 새 쌍을 저장한 다음
CompositionCount를 0으로, 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