对象变量或With块变量未设置错误Visual Basic
问题描述:
我面临的问题是,我试图从另一个窗体中的窗体使用变量,并且它给了我错误“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?
答
您已经声明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
我会通过切换选项显式上,然后选项严格上的开始。然后修复你找到的错误。如果你仍然有问题发布新代码。 http://msdn.microsoft.com/en-us/library/y9341s4f(v=vs.80).aspx – 2013-04-30 11:53:43
我不太确定选项更改会导致什么,但错误仍然相同 – 2013-04-30 12:04:51
我们需要查看更多代码比你所展示的要好。我注意到,在你的代码行中,你公开定义的变量将成为数组。另外,什么是'Form1.codfilm'?你是不是应该从这个值中解析出来(根据Matt的评论),从(可能)文本值到数值(最可能是整数)? – Paul 2013-04-30 12:08:09