Vb.net 对象引用未设置为对象的实例。vb,net中的面向对象类
我在编译代码时遇到了这个问题Vb.net 对象引用未设置为对象的实例。vb,net中的面向对象类,vb.net,Vb.net,我在编译代码时遇到了这个问题 Public Class Form2 Dim db_classobj As Object Dim textboxobj() As TextBox = {TextBox1, TextBox2} Dim datagridobj() As DataGridView = {DataGridView1} Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;D
Public Class Form2
Dim db_classobj As Object
Dim textboxobj() As TextBox = {TextBox1, TextBox2}
Dim datagridobj() As DataGridView = {DataGridView1}
Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=datamhs.accdb", "mhs", "ksmhs")
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
db_classobj = temp
End Sub
End Class
在编译过程中,我收到了以下错误消息:创建表单时出错。有关详细信息,请参见Exception.InnerException。错误是:对象引用未设置为对象的实例。
我的代码怎么了?有人能修好吗?我真的很感激。
谢谢。您必须先创建阵列
Dim textboxobj() As TextBox = New TextBox(){TextBox1, TextBox2}
Dim datagridobj() As DataGridView = New DataGridView(){DataGridView1}
传递给
db_class
构造函数的参数类型正确,但值不正确。它们导致db\u类的构造函数引发此异常
如果不知道db_类
构造函数的哪一行抛出异常,我们无法帮助您
是这条线吗
_textbox(i).DataBindings.Add("text", ds.Tables(_mailboxname), temp(i))
将表单加载函数更改为该函数,并从类的顶部删除textboxobj
、datagridobj
和temp
声明
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim textboxobj() As TextBox = {TextBox1, TextBox2}
Dim datagridobj() As DataGridView = {DataGridView1}
Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=datamhs.accdb", "mhs", "ksmhs")
db_classobj = temp
End Sub
基本上发生的事情是,因为类中的Dim temp as New
语句是正确的,它在表单构造函数之前执行,而构造函数是所有控件(如TextBox1)被赋值的地方,因此,基本上,您将一个Nothing
值数组传递给db_类
构造函数。当您点击这一行时,\u textbox(i).DataBindings.Add(“text”,ds.Tables(\u mailboxname),temp(i))
,\u textbox(i)
部分返回无任何内容
,因此尝试引用数据绑定
属性失败,因为它不存在。我认为您的一个对象引用没有设置为对象的实例。这通常意味着您正在访问一个对象上的属性,该对象为无
。异常将在程序的特定行发生,是哪一行?什么是
db_类以及您正在调用的五参数构造函数中发生了什么?我不是vb.net的专家,但我认为您的问题来自于控件TextBox1、TextBox2和DataGridView1尚未创建的事实。我会尝试在form2_加载中移动它们的赋值项。我不知道现在该怎么办,你能一步一步解释一下吗?db_类构造函数中的哪一行引发异常?几乎所有NullReferenceException的情况都是一样的。有关某些提示,请参阅“”。如果仍显示,则创建表单时出错。有关详细信息,请参见Exception.InnerException。错误是:对象引用未设置为对象的实例。这实际上不是真的,如果是真的,上面的代码将无法编译。