我正在修改一个必须在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")
我得到:编译器错误,预期“=”
我的物体坏了还是我错过了一些明显的东西?感谢。
答案 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。