主题:[HELP]关于BYVAL
maxumi
[专家分:2200] 发布于 2006-06-28 08:22:00
请教一下, 那个BYVAL有什么用?
DECLARE SUB cc(BYVAL n AS INTEGER)和DECLARE SUB cc(n AS INTEGER)
回复列表 (共5个回复)
沙发
moz [专家分:37620] 发布于 2006-06-28 11:39:00
这是VB里的关键字,
意思是"按值传递参数"
板凳
maxumi [专家分:2200] 发布于 2006-06-28 16:17:00
Thanks.明白了.那下面这是怎么回事?
DECLARE SUB add (x AS INTEGER)
SUB add (x AS INTEGER)
x = x + 1
END SUB
编译生成add.qlb, 再用qbx /l add.qlb进入QB.
DEFINT A-Z
c = 1
CALL add(c)
PRINT c
为什么还是1? 好象必须把add这个过程放在程序里, 在qlb里就不行.
请赐教!
3 楼
moz [专家分:37620] 发布于 2006-06-28 23:12:00
我试过了,
得到的结果是2
没发现哪里有什么问题。
4 楼
maxumi [专家分:2200] 发布于 2006-06-29 08:31:00
我昨天晚上试了, 如果程序前面加上一句: DECLARE SUB add ALIAS "add" (x AS INTEGER) 就没问题了, 为什么会这样?
5 楼
moz [专家分:37620] 发布于 2006-06-29 11:55:00
喔,对了,我是加了这一句.
这一行是对你需要的函数进行声明
告诉程序,这个库里面的函数你需要用到,
这样子,程序才知道到哪里去找函数来给你调用.
我来回复