对象变量或With块变量未设置错误Visual Basic

对象变量或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?

+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

您已经声明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