CloneComponent
Dokumentteile, variable Daten, Dokumentbearbeitung
Beschreibung
Abstrakte Methode von TPDFlibDynamicComponent, die eine aufruferunabhängige Kopie der Komponente einschließlich des gesamten veränderbaren Paginierungszustands zurückgibt
Syntax
Function TPDFlibDynamicComponent.CloneComponent:
TPDFlibDynamicComponent; Virtual; Abstract;
Anmerkungen
Überschreibungen müssen jedes Feld kopieren, das Compose verändert, da die Sitzung auf einem Arbeitsklon komponiert und diesen Klon erst übernimmt, nachdem sein Form XObject validiert und platziert wurde
Die Sitzung stützt sich an mehreren Stellen auf den Klon:
AttachComponent klont zweimal für die anfänglichen und aktuellen Snapshots, ComposeNextLayout klont einmal pro Versuch für die Arbeitskomponente, und CloneCurrentComponent klont den übernommenen Snapshot zur Inspektion
Der Aufrufer von
CloneComponent besitzt die zurückgegebene Instanz und gibt sie unabhängig von der Quellkomponente frei
Ein
Nil-Ergebnis wird von der Sitzung als Klonfehler behandelt; sie weist dann die auslösende Operation zurück, ohne gespeicherten Zustand zu ändern
Beispiel
function TNumberedPagesComponent.CloneComponent:
TPDFlibDynamicComponent;
begin
Result := TNumberedPagesComponent.Create(FNextPage, FPageCount);
end;
Rückgabewerte
| Neue Instanz | Eine unabhängige Kopie, deren spätere Compose-Aufrufe die Quellkomponente nicht beeinflussen können |
|---|---|
Nil | Die Überschreibung konnte keine Kopie erzeugen; die Sitzung weist AttachComponent und Kompositionsversuche ab, die vom Klon abhängen |
Siehe auch
TPDFlibDynamicComponent, TPDFlibDynamicComponentSession, Compose, CloneCurrentComponent, AttachComponent