TCustomListBox and OnMeasureItem

I have added a TListBox to a TForm and have set the Style property of the
list box to lbOwnerDrawVariable.  I am having trouble with the
OnMeasureItem event.

The OnMeasureItem works fine when there is a single item in the list but
not when there are multiple items in the list of varying heights.  I am
using the Index parameter to correctly determine whichh item is currently
being measured but have found that the Index parameter begin passed in is
not correct.

The first 3 times the OnMeasure Item function is being called, the Index
parameter is always 0.  For example, if there are 3 items in the
TListBox, my OnMeasureItem function is called 3 times and each time the
Index parameter is 0.  If there are 6 items in the TListBox, the
OnMeasureItem function is called 6 times and the Index parameter passed
in is 0, 0, 0, 1, 2, 3 respectively.  Obviously, this results in my code
returning incorrect heights for all items except the first.

Why is this Index parameter being passed incorrectly?  How should I be
using the OnMeasureItem item even to correctly measure multiple items in
a TListBox.

I am using Borland C++ Builder 5 Enterprise edition.

Thanks in advance

Sean Hannan