Exception occurs launching .exe but no problem in IDE

I've created an application in VB.Net consisting of a couple of forms with listboxes and listviews showing lists of procedures and tables in a database. It works fine in debug mode in Visual Studio - I get no exceptions. But when I compile it and open the .exe it throws an exception when the second form opens, saying one of the parameter values is incorrect.

I have a line of code referencing the fifth subitem of a listitem in a listview:

.SubItems(5).Text = vbNullString

Open in new window


The error message is "InvalidArgument=Value of '5' is not valid for 'index'". But there are 5 subitems in the listview so what's wrong with it?
TimHudspithAsked:
Who is Participating?
 
Carl TawnSystems and Integration DeveloperCommented:
Where in your form does that line of code live? It could be an initialization issue, where you are trying to access a subitem before they have all been loaded.

Daft question, but worth checking - do you definitely have 5 subitems, rather than 1 top-level item with 4 subitems?
0
 
TimHudspithAuthor Commented:
Yes, an initialisation issue. I subclassed the listview, and in that class I had an event that referenced the 5th subitem. I was instantiating this class before I had added in the listitems and subitems - with hindsight something I should have done as part of its constructor.

Still wondering why the debugger passed over it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.