function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray;
| AnnotIndex | Integer. Geçerli sayfadaki başlangıç ek açıklamasının sıfır tabanlı indeksi; 0 .. AnnotationCount - 1 aralığında |
| Relationship | TPdfAnnotationRelationship. parPopup /Popup girdilerini izler; parInReplyTo /IRT yanıt girdilerini izler |
| MaxDepth | Integer. İzlenecek en fazla bağlantı sayısı. 1 ile 4096 arasında olmalıdır, aksi halde bir EPdfError fırlatılır. Varsayılan 64'tür |
| Result | TPdfIntegerArray. Bağlantılı ek açıklamaların ziyaret sırasındaki sayfa indeksleri. Başlangıç ek açıklamasında böyle bir bağlantı yokken boş olur |
GetLinkedAnnotationIndex çağrısını tekrar tekrar uygular: başlangıç ek açıklamasından istenen ilişkiyi izleyerek bir sonraki ek açıklamaya geçer, oradan yeniden devam eder ve yol boyunca her indeksi toplar. Sonuç; bir tartışmanın yanıt zincirini ya da bir popup zincirini, düz bir sayfa ek açıklaması indeksi dizisi olarak verir
Gezinme üç koşulda durur: geçerli ek açıklamada başka bağlantı yoktur, ziyaret edilen bağlantı sayısı MaxDepth değerine ulaşır ya da bir sonraki indeks daha önce görülmüş bir ek açıklamaya geri döner (başlangıç indeksi görülmüş sayılır). Döngü koruması sayesinde çağrı, /IRT girdileri döngüye girmiş bozuk belgelerde de güvenlidir
Başlangıç indeksinin kendisi asla sonucun parçası değildir — yalnızca ulaştığı ek açıklamalar verilir. İstenen bağlantıyı taşımayan bir ek açıklama hata değil boş bir dizi üretir
1 .. 4096 dışında bir MaxDepth, hiçbir ek açıklama açılmadan bir EPdfError fırlatır
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;