vb中byref参数类型不符是什么意思

问明6E
高粉答主

2019-06-18 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:16万
展开全部

意思:

第一个类型 :

传递参数未定义类型,假如参数在调用前未定义类型,系统自动将他定义为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就会报告错误。

ef_ef
推荐于2017-06-12 · TA获得超过286个赞
知道小有建树答主
回答量:357
采纳率:0%
帮助的人:248万
展开全部
在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
以上为复制的,如果不能解决问题,请你把源码贴出来
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式