byref参数类型不符
(2018-06-24 13:58:01)
标签:
byref参数类型不符 |
分类: 程序设计_VB |
在vb中执行过程或函数时,提示"byref参数类型不符"
分析问题主要由于对应参数的类型不符造成的。造成这种情况一般有几种情况:
1。传递参数未定义类型,如果参数在调用前未定义类型,系统自动将它定义为variant类型,由于与过程或函数中的对就参数类型不相同,所以提示"byref参数类型不符"
2。传递参数类型已经定义,但由于定义方法不对,所以提示"byref参数类型不符"。具体情况如下:
参考资料:http://www.sudu.cn/info/html/edu/net/20071226/24393.html
通过上面的资料可以理解VB中变量定义如果已经是 Option Explicit 强制精确类型的话,一定每个变量都要明确定义类型,而不能为了图省事,把几个变量一起定义。
Dim a ,b as integer 与 Dim a as integer,b as integer两个变量定义如果没有强制类型,个人感觉应该是一样的,但如果是强制类型了,在子程序或函数调用时,就会因为参数没有指定具体类型而发生“byref参数类型不符”的错误提示。 例如:
定义一个函数
Function Plus _N(e)
函数体
End Function
另外一种在参数中上体定义了参数类型
Function Plus _N(Integer e)
函数体
End Function
在调用这两个函数里,第一种定义叁数e是variant,可以任意指定,错了也不会报错,第二种的定义参数e一定要精确指定类型,不然就会出现上面的报错。

加载中…