Как проверить тип объекта в VB 6 - Есть ли метод, кроме «TypeName» - PullRequest
2 голосов
/ 10 сентября 2010

Как проверить тип объекта в VB 6 - Существует ли какой-либо метод, кроме «TypeName», потому что его невозможно проверить с «TypeName». Я ожидаю что-то вроде окна QuichWatch.

Ответы [ 3 ]

9 голосов
/ 10 сентября 2010

Для переменных объекта используйте TypeOf ... Is:

If TypeOf VarName Is TypeName Then
  ''# ...
End If

Например:

Dim fso As New Scripting.FileSystemObject

If TypeOf fso Is Scripting.FileSystemObject Then
  Debug.Print "Yay!"
End If
5 голосов
/ 10 сентября 2010

Просто добавить к ответу @ Томалака ... Если переменная объекта не была создана, то тестирование с помощью TypeOf вызовет ошибку времени выполнения. Также обратите внимание, что класс может реализовывать интерфейсы, например

Dim fs As Scripting.FileSystemObject

On Error Goto Err_Handler

If TypeOf fs Is Scripting.FileSystemObject Then
  Debug.Print "[Won't get here]"
End If

Err_Handler:

If Err.Number <> 0 Then
  Debug.Print "Oops, error when fs Is Nothing"
End If

On Error Resume Next

Set fs = New Scripting.FileSystemObject

If TypeOf fs Is Scripting.FileSystemObject Then
  Debug.Print "Is a FileSystemObject"
End If

If TypeOf fs Is IFileSystem Then
  Debug.Print "Implements IFileSystem "
End If
1 голос
/ 15 сентября 2010

попробуйте это.

dim obj as object
for each obj in me
   debug.print TypeName(obj)
next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...