.. hab hier was mit doppelte löschen, zwar kein array sondern treenodes aber das kann man ja anpassen...
Delphi-Quellcode:
//löschen der doppelten Knoten
node:=tvInzidenz.Items.GetFirstNode; // 1. Knoten
while Node<>nil do
begin
compNode:=node.getNextSibling;
while compNode<>nil do
begin
if Node.Text=compNode.Text then
begin
tvInzidenz.Items.Delete(CompNode);
compNode:=Node.getNextSibling;
end // if
else
compNode:=compNode.getNextSibling
end; // while
Node:=Node.getNextSibling;
end; // while