| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 355 人关注过本帖
标题:调用过程时,为何不加 call ,则引用传递的变量值不会传回来?
只看楼主 加入收藏
ggyy66
Rank: 1
等 级:新手上路
帖 子:427
专家分:0
注 册:2007-8-14
结帖率:86.25%
收藏
已结贴  问题点数:20 回复次数:1 
调用过程时,为何不加 call ,则引用传递的变量值不会传回来?
调用过程时,为何不加 call ,则引用传递的变量值不会传回来?
----------------------------------------------------
变量是引用传递,正常情况下,变量值的改变可以被传回来,但是如果不加 call 的话,这个值竟然传不回来,以前没有这种问题,今天遇到了。

窗体代码:

Option Explicit
Dim cls1 As New Class1
Dim x As Double

Private Sub Form_Load()
    x = 199.99
    MsgBox x
   
    '几下两句为何执行结果不同
    'cls1.clsprog (x)        '此时x的值不会传回来
    Call cls1.clsprog(x)    '此时x的值会正常传回来
    MsgBox x
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set cls1 = Nothing
End Sub

类代码:
Option Explicit
Dim cls1 As New Class1
Dim x As Double

Private Sub Form_Load()
    x = 199.99
    MsgBox x
   
    '几下两句为何执行结果不同
    'cls1.clsprog (x)        '此时x的值不会传回来
    Call cls1.clsprog(x)    '此时x的值会正常传回来
    MsgBox x
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set cls1 = Nothing
End Sub
2009-08-12 17:17
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:20 
哪有你的类代码
cls1.clsprog (x)   就这样写肯定执行出错  得这样 cls1.clsprog x  (不要括号)
什么叫做传回来?
按引用传递可能会影响实参的值,而按值传递则不会
2009-08-12 22:51
快速回复:调用过程时,为何不加 call ,则引用传递的变量值不会传回来?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044866 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved