Ciao a tutti,
sto diventando matto in questo ambiente. E parlo del Visual Studio 2010. Ho lasciato da parte il buon vecchio VB6 e mi sono gettato a capofitto in questo nuovo ambiente che , pero' , non riesco a domare.
Vi faccio un esempio. Sto cercando di elaborare un comparatore di quote. Leggo 2 file da web e trasferisco le informazioni in 2 differenti datagridview. E gia' qui problemi a non finire. Non riesco a capire per esempio per quale motivo se provo a leggere in una riga (esistente perche' creata) vuota mi da' un errore e mi chiede di fare una verifica per controllare prima che non sia vuota. Faccio questa verifica e mi da' lo stesso errore ripetendomi la stessa cosa. Ho , come penso in tanti, l'abitudine di mettere dei berakpoint in modo da poter leggere i valori di alcune variabili. Bene, di punto in bianco questo non è piu' possibile perche' , secondo lui , il programma è diverso da quello originale e , quindi, per forzare la cosa devo dire al sistema di farmi un piacere a fare quella cosa.
Adesso anceh in un semplice ciclo for next o While mi dice delle cose che non stanno ne' in cielo ne' in terra.
Posto il codice:
codice:
Private Sub cercasurecash()
Dim sq_bf1 As String, sq_bf2 As String, totrec As Integer, my_mark As String = ""
Call leggi_fileconf()
totrec = CInt(jj_num.Text)
BP_count.Text = "0" : SC_Trov.Text = "0" : tot_gare.Text = "0"
numriga_odd = 1
DataGridView1.Rows.Clear()
DataGridView2.Rows.Clear()
DataGridView3.Rows.Clear()
Call Cerca_GareBp()
Call scarica_sitoBF()
While ok_scar <> True
'
End While
ok_scar = False
Call CercaDatiBF()
Dim colonna As Integer = 5
Dim riga As Integer = 0
While riga < DataGridView1.Rows.Count() - 1
Application.DoEvents()
BP_count.Text += 1
Dim gara As String = DataGridView1.Rows(riga).Cells(colonna).Value.ToString()
Dim sq_BP As String() = gara.Split("-") ' splitto le squadre
sq_BP(0) = Trim(sq_BP(0)) : sq_BP(0) = UCase(sq_BP(0))
sq_BP(1) = Trim(sq_BP(1)) : sq_BP(1) = UCase(sq_BP(1))
For Num_rec As Integer = 1 To totrec
If sq_BP(0) = Confronto(Num_rec, 2) Then
sq_bf1 = Confronto(Num_rec, 1)
Exit For
End If
Next Num_rec
For Num_rec As Integer = 1 To totrec
If sq_BP(1) = Confronto(Num_rec, 2) Then
sq_bf2 = Confronto(Num_rec, 1)
Exit For End If
Next Num_rec
If (Trova_squadrainBF(sq_BP(0), sq_BP(1), sq_bf1, sq_bf2) = True)
Then
If chk_match.Checked = True Then
Call match_odds(riga, gara)
End If
If chk_15.Checked = True Then
Call uo15(riga, gara)
End If
If chk_25.Checked = True Then
Call uo25(riga, gara)
End If
If chk_35.Checked = True Then
Call uo35(riga, gara)
End If
If chk_Mht.Checked = True Then
Call MatchHT(riga, gara)
End If
End If
riga = riga + 1
End While
End Sub
Quando il valore di riga arriva a 2 mi viene notificato l'errore
NullReferenceException was unhandled
Object reference not set to an instance of an object
L'mmagine che appare punta al carattere 1 di riga = riga + 1
Non ci sto capendo piu' niente e questa cosa mi manda fuori dai gangheri. Potete aiutarmi?
Grazie