VB6 проверить, является ли переменная объектом - PullRequest
4 голосов
/ 18 ноября 2011

В Visual Basic 6 есть ли способ определить, является ли переменная, переданная в функцию, объектом? Я хочу иметь возможность проверить, является ли переменная пустым, пустым или пустым, но только объекты можно проверить с помощью «Ничего». Есть идеи?

Ответы [ 4 ]

6 голосов
/ 18 ноября 2011

Как определяется функция?

Если это ... As Object, то это либо действительный объект, либо Null.

Если это ... As Variant (или без типа), тогда все можети вы можете проверить, используя IsEmpty(), IsNull() (Примечание, НЕ нулевой объект, а нулевое значение) или IsObject() в зависимости от того, что именно вы хотите проверить перед проверкой ... Is Nothing.

Если параметр Optional, то вы можете использовать IsMissing(), но это должен быть тип варианта без значения по умолчанию.

Кроме того, ознакомьтесь с этой статьей на различныхиспользует Null в VB.

4 голосов
/ 18 ноября 2011
IsObject(variable)

Не трудно найти

1 голос
/ 18 ноября 2011

В VB есть оператор TypeOf.Все, что не является простым значением (т. Е. Integer и т. Д.), Имеет тип Object.

If TypeOf Variable Is Object Then
  ' ...
End If

TypeOf также позволяет проверять наследование.Например, почтовые элементы в папке Outlook имеют тип Object и Outlook.MailItem, так что вы можете выполнять фактические проверки безопасности типов для общего варианта Variant следующим образом.

Обратите внимание, что If TypeOf ... не работает с переменными, которые введены в виде простых значений (например, целочисленные), только с переменными типа объекта (Variant, COM-объекты, встроенные объекты).

0 голосов
/ 19 ноября 2011

Для аргументов Variant вы также можете использовать функцию VarType () и связанный с ней Enum.

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