十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
意思:
成都创新互联公司是一家专注于网站设计制作、网站设计与策划设计,南岗网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:南岗等地区。南岗做网站价格咨询:18980820575
第一个类型 :
传递参数未定义类型,假如参数在调用前未定义类型,系统自动将他定义为variant类型,由于和过程或函数中的对就参数类型不相同,所以提示”byref参数类型不符”
第二个类型 :
传递参数类型已定义,但由于定义方法不对,所以提示”byref参数类型不符”
2、出错原因
在上机的时候出错原因是因为第二个类型:传递参数类型已定义,但由于定义方法不对。
错误的定义:
Dim msgtext As Integer
正确的定义:
Dim msgtext As String
Dim txtSQL As Integer
Dim mrc As Integer
Dim mrc2 As Integer
扩展资料:
举例:
传递参数类型已经定义,但由于定义方法不对,所以提示"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就会报告错误。
在Visual Basic中,按地址传递方式通过关键字 ByRef来实现。也就是说,在定义通用过程时,如果形参前面有关键字ByRef,则该参数用按地址方式传送。
按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,Visual Basic 6.0会按"传值"方式来处理。
扩展资料:
与之相对应的则为ByRef关键字。使用 ByRef 关键字时,参数的传递方式就是按地址传递。
需要注意:
1.按值传递方式只能用于外部向被调用过程内部传递数据。
2.按地址传递方式可以实现数据的双向传递。
参考资料来源:百度百科-ByVal
参考资料来源:百度百科-ByRef
按地址向子程序传送参数,当子程序中改变发这个参数时,返回的参数随之改变;
而ByVal是按数值传送参数,当子程序中改变发这个参数时,返回的参数不改变。
VB的帮助中的详细介绍。