"une exception de premiére chance de type system.NullReferenceException" ...
L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013
-
21 sept. 2007 à 09:05
L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013
-
21 sept. 2007 à 15:12
Bonjou Bonjour :)
Je fais appel à vous car j'ai un petit souci, alors je ne sais pas si je suis dans la bonne rubrique mais étant donné que je suis débutant en VB ainsi que sur le forum ...
Alors voilà, je suis en train de faire un programme me permettant d'éteindre des pc du reseau à distance, jusque là tout va bien lol. Alors le principe est simple, j'importe la liste des Bauds actifs en fichier txt, je la met dans un datagridview, je coche les pc que je veut éteindre à l'aide de checkbox et sa envoie une commande shutdown ...
Alors tout va pour le mieux jusqu'au moment où ... voici mon code :
Dim
trouve
As
New
Boolean
Dim i
As
Integer
If CheckBox225.Checked = True Then
Do
trouve = DataGridView1.Item(1, i).Value.Contains("225")
If trouve = True Then
If My.Computer.Network.Ping(DataGridView1.Item(0, i).Value) Then
Shell("command.com /c shutdown -m [file://\\DataGridView1.Item(1 \\DataGridView1.Item(1], i).value -s")
End If
End If
i = i + 1
Loop Until DataGridView1.Rows Is Nothing
End If
Donc là, si j'ai la checkbox 225 cochée, je lis ligne par ligne la colonne de mon datagridview où il y a le nom des machines si dans le nom de la machine il y a 225 il envoie un ping à l'adresse correspondante, si il le recoit il envoie une commande. Moi, ces lignes me paraissent bonnes, mais lorsque je débogue il me dit : "Une exception de premiére chance de type 'System.NullReferenceException'" et ensuite il s'arrête et affiche une fenétre dans laquelle il me dit : Variable objet ou variable d'un bloc With non définie. et que je doit utiliser le mot clé "New" pour créer une instance d'objet et tout ca en surlignant la ligne trouve = DataGridView1.Item(1, i).Value.Contains("225")
Mais je ne vois vraiment pas où je pourrait mettre un new là dedans ... Ni pourquoi j'ai ce message ... :s
lesoleil2010
Messages postés26Date d'inscriptionmardi 10 janvier 2006StatutMembreDernière intervention20 août 20101 21 sept. 2007 à 12:22
je crois que c est a cause de i :
for i=0 to datagridview.rows.count-1
trouve = DataGridView1.Item(1, i).Value.Contains("225")
If trouve = True Then
If My.Computer.Network.Ping(DataGridView1.Item(0, i).Value) Then
Shell("command.com /c shutdown -m [file://DataGridView1.Item(1/ \\DataGridView1.Item(1], i).value -s")
End If
End If
next