0

那是我的代码:

    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)

我该如何解决?

4

2 回答 2

2

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

Dim web(num) As WebBrowser

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

只需更改您的代码以包含

web(num) = New WebBrowser()

在你使用之前web(num)

于 2012-08-03T07:15:39.750 回答
1

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

两者都在这里:

   

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)
于 2012-08-03T07:28:44.340 回答