你调用的对象是空的

时间:2012-08-03 07:11:25

标签: vb.net internet-explorer browser object-reference

这是我的代码:

    Dim num as integer = 0
    For Each s As String In ListBox1.Items
        num = num + 1
        Dim web(num) As WebBrowser
        RefreshIESettings(s)
        Web(num).Navigate("http://www.google.com") 'There's the error
        wait("5000")
        MsgBox(Web(num).Document.Title)
    Next

我只有在这样做时才会收到此错误:

    Dim webb As WebBrowser
    RefreshIESettings(s)
    Webb.Navigate("http://www.google.com") 'Here too
    wait("5000")
    MsgBox(Webb.Document.Title)

我该如何解决?

2 个答案:

答案 0 :(得分:2)

在这里创建一个空引用数组:

Dim web(num) As WebBrowser

您需要在使用之前设置web(num)的值,否则它将为空。

只需将代码更改为包含

即可
web(num) = New WebBrowser()

在使用web(num)之前。

答案 1 :(得分:1)

您需要使用“new”关键字。

这两个:

Dim num as integer = 0
    For Each s As String In ListBox1.Items
        num = num + 1
        Dim web(num) As WebBrowser = new WebBrowser()
        RefreshIESettings(s)
        Web(num).Navigate("http://www.google.com")
        wait("5000")
        MsgBox(Web(num).Document.Title)
    Next

在这里:

    Dim webb As WebBrowser = new WebBrowser()
    RefreshIESettings(s)
    Webb.Navigate("http://www.google.com")
    wait("5000")
    MsgBox(Webb.Document.Title)