vb中byref参数类型不符是什么意思
答案:3 悬赏:50 手机版
解决时间 2021-11-30 09:47
- 提问者网友:山高云阔
- 2021-11-29 16:29
vb中byref参数类型不符是什么意思
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-10-06 05:41
意思:
第一个类型 :
传递参数未定义类型,假如参数在调用前未定义类型,系统自动将他定义为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就会报告错误。
第一个类型 :
传递参数未定义类型,假如参数在调用前未定义类型,系统自动将他定义为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就会报告错误。
全部回答
- 1楼网友:愁杀梦里人
- 2019-06-27 22:49
在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
以上为复制的,如果不能解决问题,请你把源码贴出来
- 2楼网友:逐風
- 2021-05-15 08:59
dim a, b as integer
改成 dim a as integer,b as integer
就可以了.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯