AttachComponent
Dokumentteile, variable Daten, Dokumentbearbeitung
Beschreibung
Ersetzt die anfänglichen und aktuellen Komponenten-Snapshots einer TPDFlibDynamicComponentSession durch frische Klone einer dem Aufrufer gehörenden Komponente und löscht den gesamten Fortschrittszustand
Syntax
Function TPDFlibDynamicComponentSession.AttachComponent(
AComponent: TPDFlibDynamicComponent): Integer;
Parameter
AComponent | Dem Aufrufer gehörende Komponente, deren CloneComponent sowohl den neuen anfänglichen als auch den neuen aktuellen Snapshot liefert |
|---|
Anmerkungen
Beide Klone werden erzeugt, bevor ein gespeicherter Snapshot freigegeben wird, sodass ein CloneComponent, das Nil zurückgibt, die vorherige Komponente, den Kompositionszähler, das Abschlussflag und den Wiederholungszustand unangetastet lässt
Bei Erfolg gibt die Sitzung ihre alten Snapshots frei, speichert das neue Paar und setzt
CompositionCount auf null sowie Completed, KeepTogetherRetryPending, LastRetryReason und LastRequiredSlotHeight zurück
Die Sitzung übernimmt nie das Eigentum an
AComponent
AttachComponent; gespeichert werden nur die Klone, sodass der Aufrufer die übergebene Instanz unabhängig behält und freigibt
Der Sitzungskonstruktor ruft Nil auf, sodass eine mit einer
Beispiel
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;
Rückgabewerte
1 | Beide Klone wurden erzeugt und als neue anfängliche und aktuelle Snapshots übernommen, wobei der gesamte Fortschrittszustand gelöscht wurde |
|---|---|
0 | AComponent ist Nil, oder einer der CloneComponent-Aufrufe gab Nil zurück; die vorherigen Snapshots und der Zustand bleiben erhalten |
Siehe auch
TPDFlibDynamicComponentSession, TPDFlibDynamicComponent, CloneComponent, CloneCurrentComponent, ComposeNextLayout