什么是BYREF参数不符?

如题所述

在vb中执行过程或函数时,提示"byref参数类型不符"

分析问题主要由于对应参数的类型不符造成的。造成这种情况一般有几种情况:

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就会报告错误。

参考资料:http://www.sudu.cn/info/html/edu/net/20071226/24393.html

温馨提示:答案为网友推荐,仅供参考
相似回答