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

前端之家收集整理的这篇文章主要介绍了vb6 – 是否可以在没有括号的情况下调用VB函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在看VB6代码,我看到如下声明 –
  1. Public Sub CheckXYZ(abc As Integer)
  2.  
  3. If abc <> pqr Then SetVars abc

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

  1. Private Sub SetVars(i As Integer)

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

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

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

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

  1. SomeFunc (arg1,arg2)

但请考虑这个例子:

  1. Sub AddOne(ByRef i As Integer)
  2. i = i + 1
  3. End Sub
  4.  
  5. Sub Command1_Click()
  6. Dim i as Integer
  7.  
  8. i = 1
  9. AddOne i 'i will be passed by reference and increased by 1
  10. MsgBox i 'Will print "2"
  11. AddOne (i) 'i will be passed by value,so the return value will be lost!!
  12. MsgBox i 'Will still print "2"!!
  13. End Sub

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

猜你在找的VB相关文章