加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb6 – 是否可以在没有括号的情况下调用VB函数?

发布时间:2020-12-17 00:02:29 所属栏目:大数据 来源:网络整理
导读:我正在看VB6代码,我看到如下声明 – Public Sub CheckXYZ(abc As Integer) If abc pqr Then SetVars abc 当我点击SetVars上的定义时,我将采用以下定义 – Private Sub SetVars(i As Integer) 我是VB的新手.这是VB中常见的东西,允许没有paranthesis的函数调用
我正在看VB6代码,我看到如下声明 –
Public Sub CheckXYZ(abc As Integer)

       If abc <> pqr Then SetVars abc

当我点击SetVars上的定义时,我将采用以下定义 –

Private Sub SetVars(i As Integer)

我是VB的新手.这是VB中常见的东西,允许没有paranthesis的函数调用吗?

正如Ryan指出的那样,只有在调用将返回值的函数时才应使用括号.

我想补充的一个缺陷是,如果你实际上在调用Sub时无意中使用了parenteses,VB6将通过值而不是引用传递参数.

当Sub接受多个参数时,这不是风险,因为这是VB6中的非法语法:

SomeFunc (arg1,arg2)

但请考虑这个例子:

Sub AddOne(ByRef i As Integer)
  i = i + 1
End Sub

Sub Command1_Click()
  Dim i as Integer

  i = 1
  AddOne i    'i will be passed by reference and increased by 1
  Msgbox i    'Will print "2"
  AddOne (i)  'i will be passed by value,so the return value will be lost!!
  MsgBox i    'Will still print "2"!!
End Sub

所以要注意你如何使用括号,一个小的改变可能会产生意想不到的效果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读