2014-02-23 101 views
0

「Button1的搜索兩次給對象引用空

Dim ex1 As New Threading.Thread(AddressOf ex1_sub) 

Dim ex2 As New Threading.Thread(AddressOf ex2_sub) 

ex1.Start() 
ex2.Start() 

」結束小組

Sub ex1_sub() 

Dim result_ex1 As IWebResult 

Dim client_ex1 As New GwebSearchClient("http://www.google.com") 

Dim results_ex1 As IList(Of IWebResult) = client_ex1.Search("love", 2) 

For Each result_ex1 In results_ex1 
MsgBox(result_ex1.Title) 
Next 

End Sub 


Sub ex2_sub() 
Dim result_ex2 As IWebResult 

Dim client_ex2 As New GwebSearchClient("http://www.google.com") 

Dim results_ex2 As IList(Of IWebResult) = client_ex2.Search("hate", 2) 

For Each result_ex2 In results_ex2 
MsgBox(result_ex2.Title) 
Next 

End Sub 

它指向要麼results_ex2或results_ex1,並告訴我不設置到對象的實例 對象引用。

我該如何解決這個問題?

回答

0

如果您不能保證client_ex1.Search()client_ex2.Search()始終返回一個值,請在函數調用後執行簡單檢查,以避免Null reference error。例如:

....... 
Dim results_ex2 As IList(Of IWebResult) = client_ex2.Search("hate", 2) 
If results_ex2 Is Nothing Then 
    Console.WriteLine("API returns no result") 
Else 
    For Each result_ex2 In results_ex2 
     MsgBox(result_ex2.Title) 
    Next 
End If 
....... 
+0

仍然給我同樣的錯誤 – eawedat

+0

您是否對'results_ex1'應用了相同的構造塊?你在哪一行得到錯誤? – har07

+0

是的,我做過, 我得到這行錯誤 im results_ex2 IList(Of IWebResult)= client_ex2.Search(「hate」,2) – eawedat