2013-04-30 147 views
1

我面臨的問題是,我試圖從另一個窗體中的窗體使用變量,並且它給了我錯誤「Object variable or With block變量未設置「。 我已經嘗試過使用這些文檔,但它的優點是* * * * * * * * * * * * * * * * * * * * * * * * * * * *對象變量或With塊變量未設置錯誤Visual Basic

我tryed這種方法:

Public urlpoza, regizor, film, blabla(0 To 9999) 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
x = Form1.codfilm 
Try 
    film(x) = TextBox1.Text 
    regizor(x) = TextBox2.Text 
    blabla(x) = TextBox3.Text 
    urlpoza(x) = TextBox4.Text 
    Form1.ListBox1.Items.Add(film(x)) 
    Form1.ListBox1.Refresh() 

Catch ex As NullReferenceException 
    MsgBox(ex.Message) 
End Try 

我tryed形式2本使用方法:

Public Shared codfilm As Form1 

http://www.dreamincode.net/forums/uploads/monthly_04_2013/post-625768-136731764705.png

我tryed的形式使用; 2,這也是:

Public urlpoza, regizor, film, blabla(0 To 9999) As String 

http://www.dreamincode.net/forums/uploads/monthly_04_2013/post-625768-136731763757.png

但我仍然有同樣的問題...任何ideeas?

+1

我會通過切換選項顯式上,然後選項嚴格上的開始。然後修復你找到的錯誤。如果你仍然有問題發佈新代碼。 http://msdn.microsoft.com/en-us/library/y9341s4f(v=vs.80).aspx – 2013-04-30 11:53:43

+0

我不太確定選項更改會導致什麼,但錯誤仍然相同 – 2013-04-30 12:04:51

+0

我們需要查看更多代碼比你所展示的要好。我注意到,在你的代碼行中,你公開定義的變量將成爲數組。另外,什麼是'Form1.codfilm'?你是不是應該從這個值中解析出來(根據Matt的評論),從(可能)文本值到數值(最可能是整數)? – Paul 2013-04-30 12:08:09

回答

1

您已經聲明film爲:

Public urlpoza, regizor, film, blabla(0 To 9999) 

但是當你試圖將一個字符串分配給數組中的位置:

film(x) = TextBox1.Text 

這可不行。 file不是一個數組,它可能是一個Object(因此是錯誤消息)。如果Option Explicit和Option嚴格是在 - 這不會編譯

嘗試顯式聲明的變量,而不是 - 這樣的事情,而不是:

Public urlpoza(0 To 9999) As String, regizor(0 To 9999) As String, film(0 To 9999) As String, blabla(0 To 9999) As String 
相關問題