首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

类型初始值设定项引发错误

2012-06-01 
类型初始值设定项引发异常是这样的,最近在学习VB2005,但是很多问题都不太会。定义了一个模块“FeatureRecMod

类型初始值设定项引发异常
是这样的,最近在学习VB2005,但是很多问题都不太会。定义了一个模块“FeatureRecModule”,模块内容如下所示:

VB.NET code
Module FeatureRecModule    Public CS_n As Integer = 0 '#的个数    Public CS_content As String 'CLOSED_SHELL所在行的内容    Public row As Integer = Nothing 'CLOSED_SHELL所在行数    Public base_AD As String '定义基准面    Public count_base_bound As Integer '定义基准面内边个数    Public BFB1 As String '基准面内边环所在行数ID    Public s1 As String = "DATA;"    Public s2 As String = "END-ISO-10303-21;"    Public tmp As String    Public startIndex As Integer = frmMain.txtStep.Text.IndexOf(s1)    Public endIndex As Integer = frmMain.txtStep.Text.IndexOf(s2) + s2.Length    Public mystr As String = frmMain.txtStep.Text.Substring(startIndex + 1, endIndex - startIndex - 2)    Public Arr() As String = Split(mystr, vbCrLf) '将textbox1中的内容分段存放在Arr()数组中    Public s As Integer = Arr.Length    Public Function stepreader(ByVal st As String) As String        For i As Integer = 0 To s - 1 '定义数组的维数            Dim CL_Int As Integer = InStr(1, Arr(i), "CLOSED_SHELL", 0) '查找CLOSED_SHELL 所在行            If CL_Int > 0 Then                row = i                Exit For            End If        Next        If row <> Nothing Then            st = Arr(row)        End If        Return st    End Function    Public Sub advanced_Read()        Dim str1 As String        Dim AD_s As String() = Split(Mid(stepreader(str1), stepreader(str1).LastIndexOf("(") + 3, stepreader(str1).IndexOf(")") - stepreader(str1).LastIndexOf("(") - 3), ", ")        For i As Integer = 0 To AD_s.Length - 1            If Not IsNumeric(Mid(AD_s(i), 1, 1)) Then                AD_s(i) = Mid(AD_s(i), 2)            Else                tmp = Mid(Val(1 & AD_s(i)), 2)                AD_s(i) = Replace(AD_s(i), tmp, "", 1, 1)                'Debug.Print tmp            End If            '找到每个ADVANCED_FACE的边环的ID            Dim FB_s(i) As String '存储每个ADVANCED_FACE的边环的ID的数组            FB_s(i) = Mid(Arr(Val(AD_s(i))), Arr(Val(AD_s(i))).LastIndexOf("(") + 3, Arr(Val(AD_s(i))).IndexOf(")") - Arr(Val(AD_s(i))).LastIndexOf("(") - 3)            Dim imatchStr As String() = Split(FB_s(i).Substring(1), "#")            If imatchStr.Length > 1 Then '计算 # 的个数                base_AD = Arr(Val(AD_s(i))) '找出基准面bsse_AD            Else                Exit For            End If            'search the base_bound ID            Dim BFB_s As String() = Split(Mid(base_AD, base_AD.LastIndexOf("(") + 3, base_AD.IndexOf(")") - base_AD.LastIndexOf("(") - 3), ",")            BFB1 = BFB_s(imatchStr.Length - 1)            'serch the count_base_bound            count_base_bound = BFB_s.Length - 1            MsgBox("边的条数为:" & count_base_bound)        Next i    End SubEnd Module


然后再主窗体中调用,代码如下:
VB.NET code
 Private Sub btnFeatureRec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFeatureRec.Click        FeatureRecModule.advanced_Read()    End Sub

但是一运行就发生如下错误:“_实验.FeatureRecModule”的类型初始值设定项引发异常。也不知道怎么回事!请各位高手帮帮忙呀!谢谢了!

[解决办法]
看看初始化,赋值的时候 是不是有问题。

热点排行