Quote Originally Posted by vb5prgrmr View Post
Both the combo box and list box were created back in the 16 bit world of ancient times past, hence the limit on being able to access items over vb's max integer value but in theory, you can add 2^31-1 entries but you would more than likely run out of memory long before you reached that limit.

Okay, time for TMI (Too much information). The additem method is a wrapper for the LB_ADDSTRING message and the wrapper does not impose a limit check but relies on the underlying control, so you are able to add these large amounts of data that eventually, you will not be able to access. Because, ListCount, ListIndex, TopIndex, NewIndex, RemoveItem, and the List Property only accept vb's signed integer as a value.

Also: As a side note, going back to the other thread, using sendmessage with the LB_ADDSTRING message will speed up the loading of the listbox...

Good Luck
Looks like the whole VB Control is a Wrapper for the control provided with Windows. And this should be 32bit (XP an higher)

Try LB_GETCOUNT using the hWnd from the VB Control.
(LCount = SendMessageLong(ListBoxControl.hWnd, LB_GETCOUNT, 0, 0)

Should get you the correct amount of items in the list.