function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray;
| AnnotIndex | Integer. Ničelni indeks začetne opombe na trenutni strani, v obsegu 0 .. AnnotationCount - 1 |
| Relationship | TPdfAnnotationRelationship. parPopup sledi vnosom /Popup; parInReplyTo sledi vnosom odgovorov /IRT |
| MaxDepth | Integer. Največje število povezav, katerim se sledi. Biti mora med 1 in 4096, sicer se sproži EPdfError. Privzeto je 64 |
| Result | TPdfIntegerArray. Indeksi strani povezanih opomb v vrstnem redu obiska. Prazno, ko začetna opomba nima take povezave |
Ponovno uporabi GetLinkedAnnotationIndex: od začetne opombe sledi zahtevanemu razmerju do naslednje opombe, nato znova od te, pri čemer zbira vsak indeks na poti. Rezultat je nit odgovorov razprave ali veriga pojavnih oken kot preprosto polje indeksov opomb strani
Obhod se ustavi ob treh pogojih: trenutna opomba nima nadaljnje povezave, število obiskanih povezav doseže MaxDepth ali pa bi naslednji indeks znova obiskal opombo, ki je bila že viden (začetni indeks šteje kot viden). Zaščita pred cikli naredi klic varen na okvarjenih dokumentih, katerih vnosi /IRT krožijo
Začetni indeks sam nikoli ni del rezultata — le opombe, do katerih vodi. Opomba brez zahtevane povezave da prazno polje in ne napake
MaxDepth zunaj 1 .. 4096 sproži EPdfError, preden se katera koli opomba odpre
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;