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