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