Vorab eine Frage:
item:= (Sender as TTreeViewItem); //.ItemByPoint(Point.X, Point.y);
Ich hätte jetzt gedacht, dass der Sender TTreeView ist und nicht das Item?
Bislang glaubte ich das zwischen Sender as TTreeViewItem und TTreeViewItem(sender) kein Unterschied ist.
Gruß Peter
Ein "as" typecast erzeugt eine
Exception (EInvalidCast oder so) wenn das Objekt (Sender in diesem Fall)
nicht eine Instanz der Zielklasse (oder einer Ableitung davon) ist. Ein "hard cast" macht das nicht, der Compiler nimmt da an, der Programmierer wisse schon, was er tut. Das kann unerwartete Effekte haben, wenn der Programmierer irrt...