Hallo,
mit
for I := 0 to (TreeView1.Items.Count - 1) do
durchläufst Du alle Zweige des Baumes und nicht nur die sichtbaren. Deine Auswahl triffst Du aber nur bei den sichtbaren Zweigen. Daher werden alle unsichtbaren Zweige ausgegeben, da sie ja nicht von Dir ausgewählt wurden. Du müsstest also zusätzlich prüfen, ob die auszugebenden Zweige in der obersten oder sonst von Dir gewählten Ebene liegen.
Bin mir nicht ganz sicher, aber die ausgewählten Zweige müsstest Du in
Delphi-Quellcode:
Delphi-Syntax:
property Selections[Index: Integer]: TTreeNode;
finden.
Eventuell lässt sich Dein Problem durch diese Änderung lösen:
for I := 0 to (TreeView1.Selections.Count - 1) do
. Habe zur Zeit Delphi im Zugriff und kann daher nicht sagen, ob das so funktioniert.