VB6 - 调用subs

时间:2014-10-09 16:04:54

标签: vb.net vb6

我正在修改一个必须在VB6中运行的遗留项目,我有OOP经验但不是VB。

无论如何,我认为这很简单,我需要将数据添加到hashmap。

我可以调用retreive数据函数,但不能调用set数据函数。

这是设定数据功能(或我猜的子)。

Sub SetSetting(Name As String, Value)
    Member of MBCSettings.MBCSettings
    Store the named setting in the current settings map

所以,如果我尝试设置这样的东西:

  gobjMBCSettings.SetSetting("UserName", "223")

我得到:编译器错误,预期“=”

我的物体坏了还是我错过了一些明显的东西?感谢。

1 个答案:

答案 0 :(得分:3)

啊VB6 ......是的。

为了以不使用括号的标准方式调用方法:

gobjMBCSettings.SetSetting "UserName", "223"

如果要使用括号,请使用call命令:

Call gobjMBCSettings.SetSetting("UserName", "223")

应该注意的是,在没有ByRef关键字的Call参数周围使用括号,该参数将以ByVal的形式发送。

Public Sub MySub(ByRef foo As String)
    foo = "some text"
End Sub

Dim bar As String
bar = "myText"
MySub(bar)
' bar is "myText"
Call MySub(bar)
' bar is "some text"

它只是抱怨,因为你传递了包含一组括号的多个参数。使用()强制ByVal也适用于VB.NET。