如何在VB6中访问隐藏的类变量?

时间:2009-09-01 07:37:06

标签: vb6

我在声明部分有这一行:

Private filePath As String

以下是这样的事情:

Public Sub Print(filePath As String)
...
End Sub

在...部分中,我想将参数filePath分配给模块级filePath。但是我如何才能访问后者呢?非常感谢。

4 个答案:

答案 0 :(得分:5)

如何更改代码,以避免混淆?

Private mFilePath As String

将模块级变量或参数更改为print函数。

答案 1 :(得分:2)

Phoenie我认为无论如何都要看一下VB6 / VBA中的私有类变量,一旦你有隐藏它的本地范围(我有一个很好的旧谷歌搜索,但没有出现)。如果要保留命名约定而不更改现有接口,唯一的解决方法是开发一个私有函数来为您访问变量。 e.g。

Public Sub Print(filePath As String)

    SetMyFilePath filePath

End Sub

Private Sub SetMyFilePath(ByVal passedFilePath as String)

    filePath = passedFilePath

End Sub

答案 2 :(得分:1)

因此,您可以修改Sub,以便(如果可能)允许您将Private变量设置为局部变量...但是您不允许重命名任何参数? 如果你不能做到Ira Baxter的建议......那么你的任务在VB6中是不可能的。对你施加的限制听起来不合理。

答案 3 :(得分:0)

如果无法更改函数中参数的名称,则可以始终定义另一个函数:

Public Sub SetfilePath(m As String)
  filePath = m
End Sub

并在您的...代码中调用SetfilePath。

如果这是我要解决的问题,我会弄明白为什么你不被允许 更改子例程中参数的名称,并将其更改。 显然,您可以修改子程序;为什么这是特别的变化 不允许?