This is because TNxPopupList.AcquireValue() calculates an ItemIndex that exceeds the maximum (as the error message suggests) as the Y coordinate passed to the function is greater than expected:
CODE
FItemIndex := Y div FItemHeight + VertScrollBar.Position; // AV if Y is greater than count * ItemHeight











