Как я могу получить доступ к скрытым переменным класса в VB6? - PullRequest
4 голосов
/ 01 сентября 2009

У меня есть эта строка в разделе объявлений:

Private filePath As String

И что-то вроде этого ниже:

Public Sub Print(filePath As String)<br> ...<br> End Sub

В части ... я хочу присвоить параметру filePath уровень модуля filePath. Но как я могу получить доступ к последнему? Большое спасибо.

Ответы [ 4 ]

5 голосов
/ 01 сентября 2009

Как насчет изменения кода, чтобы избежать путаницы?

Private mFilePath As String

Измените либо переменную уровня модуля, либо аргумент на функцию print.

2 голосов
/ 01 сентября 2009

Фени, я не думаю, что в любом случае можно посмотреть на переменную частного класса в VB6 / VBA, когда у вас есть что-то в локальной области видимости, которое скрывает это (у меня был старый добрый поиск в Google, но ничего не пришло). Если вы хотите сохранить соглашение об именах и не изменять существующий интерфейс, единственным обходным решением является разработка закрытой функции для доступа к переменной для вас. например,

Public Sub Print(filePath As String)

    SetMyFilePath filePath

End Sub

Private Sub SetMyFilePath(ByVal passedFilePath as String)

    filePath = passedFilePath

End Sub
1 голос
/ 01 сентября 2009

Таким образом, вы можете изменять Sub таким образом, чтобы (если это возможно) позволили вам установить переменную Private в локальную переменную ... но вы не можете переименовать какой-либо параметр? Если вы не можете сделать предложение Айры Бакстер либо ... тогда ваша задача невозможна в VB6. Наложенные на вас ограничения кажутся необоснованными.

0 голосов
/ 01 сентября 2009

Если вы не можете изменить имя параметра в вашей функции, вы всегда можете определить другую функцию:

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

и вызовите SetfilePath в вашем ... коде.

Если бы это была моя проблема, я решил бы выяснить, почему вы не можете чтобы изменить имя параметра в вашей подпрограмме, и изменить его. Ясно, что вы можете изменять подпрограмму; почему именно это изменение запрещены

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...