AttachComponent

Partes de documentos, dados variáveis, edição de documentos

Descrição

Substitui as instantâneas inicial e atual do componente de uma TPDFlibDynamicComponentSession por clones novos de um componente pertencente ao chamador e limpa todo o estado de progresso

Sintaxe

Function TPDFlibDynamicComponentSession.AttachComponent(
  AComponent: TPDFlibDynamicComponent): Integer;

Parâmetros

AComponentComponente pertencente ao chamador cujo CloneComponent fornece tanto a nova instantânea inicial como a nova instantânea atual

Observações

Ambos os clones são criados antes de qualquer instantânea guardada ser libertada, pelo que um CloneComponent que devolve Nil deixa o componente anterior, a contagem de composições, o sinalizador de conclusão e o estado de repetição intactos Em caso de êxito, a sessão liberta as instantâneas antigas, guarda o novo par e repõe

CompositionCount em zero, Completed, KeepTogetherRetryPending, LastRetryReason e LastRequiredSlotHeight A sessão nunca assume a propriedade de

AComponent

AttachComponent; só os clones são guardados, pelo que o chamador mantém e liberta a instância passada de forma independente O construtor da sessão chama Nil, pelo que uma sessão criada com um componente

Exemplo

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;

Valores devolvidos

1Ambos os clones foram criados e consolidados como as novas instantâneas inicial e atual, com todo o estado de progresso limpo
0AComponent é Nil ou uma das chamadas CloneComponent devolveu Nil, e as instantâneas e o estado anteriores são preservados

Consulte também

TPDFlibDynamicComponentSession, TPDFlibDynamicComponent, CloneComponent, CloneCurrentComponent, ComposeNextLayout