As mentioned Your delegate designed for a string array for one element and You are parsing two elements to it.
Either change it as Herman suggests, Or change your delegate to UpdateDataGridViewCallback(ByVal column1 As String, column2 as string)
or
change your invoke to
UpdateDataGridView.Invoke(New UpdateDataGridViewCallback(AddressOf UpdateDataGridView), new string(){Column1, Column2})
Alternatively, If you are trying to insert rows to a DG, Rather than using its row addition one by one manual, try using the datasource property.
Ex,
1.Use a Shared variable As DataTable, (Or alternatively you may pass a dim variable you initiated in the calling thread with data as, UpdateDataGridViewCallback (datTable as data.datatable)
2. change the necessary amendments, additions, data inserts to it in the background thread
3.call DG invoke and assign your table to it
dg.datasource=Table
Bookmarks