在调用数组作为参数VB.NET时出错

用户名

好的首先我在这里有1个数组

  Dim JD = {"0", "LIE"} 

然后我也将3个文本框放入数组中

  Dim ColJD1 As TextBox() = {Me.JD1_1, Me.JD1_2, Me.JD1_3}

然后我在子程序中使用这些数组:

     Sub fillword(ByVal num1, ByVal qtychar, ByVal num2, ByVal i, ByVal Coltxtbox)

     If Strings.Mid(My.Computer.FileSystem.ReadAllText("SAVE.txt"), Strings.InStr(My.Computer.FileSystem.ReadAllText("SAVE.txt"), num1), qtychar) = num2 & ".True" Then

        For test = 1 To Strings.Len(JD(i))
            For Each txtbox In Coltxtbox
                Dim a As String = Strings.Mid(JD(i), test, 1)
                MsgBox(a)
                txtbox.Text = i     => here is the problem
                i = i + 1
            Next
        Next
    End If

  End Sub

   Sub loadgame1()
      fillword("1", 6, "1", 1, ColJD1)
   End Sub

   Private Sub Button_click bla bla 
      loadgame1()
   End Sub

抛出错误:“未设置对象变量或With块变量。”

任何帮助都将不胜感激

@ w0051977实际上,变量名是“ test”而不是“ uji”

收到Hans的建议后,我确​​实修改了代码,但仍然抛出错误:我更改了代码:

    Dim JD = {"0", "RIA"}
    Dim ColJD1 As TextBox()

    Sub fillarray()
     InitializeComponent()
        ColJD1 = {JD1_1, JD1_2, JD1_3}
    End Sub

     Sub fillword(ByVal num1, ByVal qtychar, ByVal num2, ByVal i, ByVal Coltxtbox)
     fillarray()
      If Strings.Mid(My.Computer.FileSystem.ReadAllText("SAVE.txt"), Strings.InStr(My.Computer.FileSystem.ReadAllText("SAVE.txt"), num1), qtychar) = num2 & ".True" Then
       For test = 1 To Strings.Len(JD(i))
               For Each txtbox In Coltxtbox => Now the problem moves here , it throws error "Object reference not set to an instance of an object."
                  Dim a As String = Strings.Mid(JD(i), test, 1)
                  MsgBox(a)
                  txtbox.Text = i     
                  i = i + 1
               Next
            Next
         End If
      End Sub

      Sub loadgame1()
         fillword("1", 6, "1", 1, ColJD1)
      End Sub

      Private Sub Button_click bla bla 
        loadgame1()
      End Sub
汉斯·帕桑特

使用调试器,您可以检查变量以查找Nothing。

这很可能是ColJD1数组,看不到进行调用的范围,但这是一个非常常见的错误。成员一样Me.JD1_1没有得到一个值,直到之后的InitializeComponent()方法运行。该方法运行之前变量初始化得太早了因此,它将仅包含Nothing。您需要这样编写它:

Dim ColJD1 As TextBox()

Public Sub New
    InitializeComponent()
    ColJD1 = {Me.JD1_1, Me.JD1_2, Me.JD1_3}
End Sub

其中Sub New是需要添加的构造函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从VB.Net将文本值作为参数传递给Crystal Report公式字段时出错

来自分类Dev

在循环VB.Net中加载SQL参数时出错

来自分类Dev

循环vb.net时出错

来自分类Dev

调用方法时将初始化数组作为参数

来自分类Dev

在bash中将数组作为函数参数传递时出错

来自分类Dev

从vb.net中的路径中删除图像时出错

来自分类Dev

在VB.NET中运行Powershell脚本时出错

来自分类Dev

实体框架vb.net在翻译查询时出错

来自分类Dev

将VB.Net转换为C#时出错

来自分类Dev

将C#转换为VB.NET时出错

来自分类Dev

在vb.net中添加Tabpages时出错

来自分类Dev

从.Net Core 2.0调用SOAP API时出错

来自分类Dev

在我的 asp.net 项目中调用 Webapi 时出错

来自分类Dev

VB.NET,将数组作为参数传递的两种方式相同吗?

来自分类Dev

VB.NET,将数组作为参数传递的两种方式相同吗?

来自分类Dev

调用WindowsPhoneRuntimeComponent时如何使用字节数组作为参数?

来自分类Dev

通过功能作为参数在vb.net?

来自分类Dev

将ContainerInterface作为参数传递时出错

来自分类Dev

将“ const”作为“ this”参数传递时出错

来自分类Dev

在C ++中使用二维数组作为参数时出错

来自分类Dev

在C中将2维数组作为函数参数传递时出错

来自分类Dev

调用方法时出错

来自分类Dev

调用MapViewOfFile时出错

来自分类Dev

调用函数时出错

来自分类Dev

调用函数时出错

来自分类Dev

调用函数时出错

来自分类Dev

调用方法时出错

来自分类Dev

调用方法时出错

来自分类Dev

传递参数时出错