在vb中执行过程或者是函数的时候,程序报出如下图所示的错误,
首先,我们来分析一下这个问题主要是由于对应参数的类型不符合造成的,造成这种清纯一般有几种情况:
1.传递参数未定义类型,如果参数在调用前未定义类型,系统自动会将她们定义为Variant类型,由于与过程或函数中的对就参数类型不相同,所以提示ByRef参数类型不符。
2 .传递参数类型已经定义,但是由于定义的方法不对,所以提示ByRef参数类型不符,具体情况如下面一个小例子所示, 当VB中如此定义变量时,将会出现以上信息的错误
Private Sub Command1_Click()
Dim i , j As Integer
i = 3
j = 4
Call get1(i, j)
Text1.Text = i
End Sub
Private Sub get1(ByRef para1 As Integer, para2 As Integer)
para1 = para1 + para2
End Sub
如果将dim i ,j as integer 改为
Dim i As Integer
Dim i As Integer
程序执行正常,也就是说,第一种方法的变量定义,只是对J做了定义,并没有对前面的I进行定义,一般在过程和函数中定义参数时采用ByRef,则要求参数声明的类型和实际参数的类型完全相同,否则VB将会报告错误。