function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray;
| AnnotIndex | Integer. Lähtömerkinnän nollapohjainen indeksi nykyisellä sivulla, alueella 0 .. AnnotationCount - 1 |
| Relationship | TPdfAnnotationRelationship. parPopup seuraa /Popup-merkintöjä; parInReplyTo seuraa /IRT-vastausmerkintöjä |
| MaxDepth | Integer. Seurattavien linkkien enimmäismäärä. Arvon on oltava välillä 1–4096, muuten nostetaan EPdfError. Oletus on 64 |
| Result | TPdfIntegerArray. Linkitettyjen merkintöjen sivuindeksit käyntijärjestyksessä. Tyhjä, kun lähtömerkinnällä ei ole kyseistä linkkiä |
Soveltaa toistuvasti GetLinkedAnnotationIndex-metodia: lähtömerkinnästä edetään pyydettyä suhdetta seuraamalla seuraavaan merkintään, sitten jälleen siitä eteenpäin, ja jokainen indeksi kerätään matkan varrelta. Tulos on keskustelun vastausketju tai popup-putki pelkkänä sivumerkintäindeksien taulukkona
Kierto pysähtyy kolmella ehdolla: nykyisellä merkinnällä ei ole enempää linkkejä, vierailujen määrä saavuttaa arvon MaxDepth tai seuraava indeksi palaisi jo nähtyyn merkintään (lähtöindeksi lasketaan nähdyksi). Silmukkavartiointi tekee kutsusta turvallisen viallisilla dokumenteilla, joiden /IRT-merkinnät muodostavat silmukan
Lähtöindeksiä itsensä ei koskaan ole tuloksessa — vain ne merkinnät, joihin se johtaa. Merkintä, jolta pyydetty linkki puuttuu, tuottaa tyhjän taulukon, ei virhettä
MaxDepth välin 1 .. 4096 ulkopuolella nostaa EPdfError-poikkeuksen ennen kuin yhtään merkintää on avattu
var
Chain: TPdfIntegerArray;
Index: Integer;
begin
// collect the whole reply thread under annotation 5
Chain := Pdf1.GetLinkedAnnotationChain(5, parInReplyTo);
for Index in Chain do
Memo1.Lines.Add(Pdf1.Annotation[Index].ContentsText);
end;