2012-08-03 1 views
0

C'est mon code:référence d'objet non définie à une instance d'un objet

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 

Et je reçois cette erreur que si je fais ceci:

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

Comment puis-je résoudre?

+0

Comme @dotTutorials mentionné, je pense que vous devriez avoir un autre regard sur le [nouvel opérateur] (http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28VB.NEW%29;k%28TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22%29;k% 28DevLang-VB% 29 & rd = true) à partir de MSDN et peut-être yo Vous devriez faire quelques tutoriels de base. – jacqijvv

Répondre

2

Ici vous créez un tableau de références null:

Dim web(num) As WebBrowser 

Vous devez définir la valeur de web(num) avant de l'utiliser, ou il sera tout simplement nul.

il suffit de changer votre code pour inclure

web(num) = New WebBrowser() 

avant d'utiliser web(num).

1

Vous devez utiliser le "nouveau" mot-clé.

deux ici:

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 

Et ici:

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