You have this code:
Result := ItemLinks.VisibleItems[0].Control.Height;
and this error:
List index out of bounds (0)
That error tells you that there is no item with index 0
. The list uses zero-based indexing and so the conclusion is that there are no visible items.