DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridViewについて

  • 題名: DataGridViewについて
  • 著者: とある学生
  • 日時: 2009/10/08 15:54:55
  • ID: 25553
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[WindowsXp]
分類:[.NET]

DataGritViewで読み込んだ表に記術したIPアドレスを実行ボタンを押したらPingを
とばして通ってるか通ってないかの判別アプリを作っているのですが。
オブジェクトインスタンスが設定されていませんという例外が発生し、
うまく行きません。どのようにしたらよいでしょうか?

Private reply() As System.Net.NetworkInformation.PingReply「
'ここから実行ボタンイベント
Dim rows As String
rows = DataGridView1.Rows.Count
ReDim reply(rows)

For i As Integer = 0 To rows

Dim ip(rows) As String
ip(i) = DataGridView1.Item(0, i).Value

If reply(i).Status = Nothing Then←ここででます。

Else
reply(i) = p.Send(ip(i).ToString)

If reply(i).Status = System.Net.NetworkInformation.IPStatus.Success Then
DataGridView1.Item(2, i).Value = "○"
Else
DataGridView1.Item(2, i).Value = "×"
End If
End If

Next i
■No25553に返信(とある学生さんの記事)
> DataGritViewで読み込んだ表に記術したIPアドレスを実行ボタンを押したらPingを
> とばして通ってるか通ってないかの判別アプリを作っているのですが。
> オブジェクトインスタンスが設定されていませんという例外が発生し、
> うまく行きません。どのようにしたらよいでしょうか?
>
> Private reply() As System.Net.NetworkInformation.PingReply「
> 'ここから実行ボタンイベント
> Dim rows As String
> rows = DataGridView1.Rows.Count
> ReDim reply(rows)
>
> For i As Integer = 0 To rows
>
> Dim ip(rows) As String
> ip(i) = DataGridView1.Item(0, i).Value
>
> If reply(i).Status = Nothing Then←ここででます。

そこは

If reply(i) Is Nothing Then

でしょうね。

他にも突っ込みどころが多々ありそうです。例えば

> rows = DataGridView1.Rows.Count
> ・・・・
> For i As Integer = 0 To rows

だと

> ip(i) = DataGridView1.Item(0, i).Value

で思いっきり参照例外を発生しそうです。

VB.NET の場合、配列やリストは 0 開始です。
最後の要素は Count(Length) -1 になります。
ですので、For 文で回すなら

rows = DataGridView1.Rows.Count
For i As Integer = 0 To rows -1
・・・・・
Next

が正しいです。
No25553 を投稿されたとある学生さんと、 No25552 を投稿されたきなこさんは同じ方ということでよろしいでしょうか?

同じ投稿を2回してしまったということはミスとして仕方がないかもしれませんが(もっと慎重に投稿していただきたいとは思いますが)、同じ方が別の名前を使っている点や、タイトルが「(名詞+)について」になっている点は明らかにルール違反になります。一度「書き込みのルールについて」をお読みいただけますようにお願いいたします。

書き込みのルールについて
http://dobon.net/vb/bbs/index.html
すいません、書き込む際になかなか次の画面にならず本当に書き込まれているのか
わからなかったため、別な名前で二重投稿という事になってしまいました。
あと、問題ですが。アドバイスを参考にしまして解決しました。
ありがとうございます。

DOBON.NET | プログラミング道 | プログラミング掲示板