Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Синтаксис VBA. Как правильно передать значение NULL ? / 8 сообщений из 8, страница 1 из 1
06.12.2013, 11:04
    #38491423
Игорь_777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
Привет всем! Возможно, я задам глупейший вопрос, однако...
Читая мануалы по функциям RasAPI (справка Windows), описания примеров даны на С++. Читаю, например, что параметр функции надо передать как NULL.
При написании кода VBA задумался- а как мне передать этот параметр как NULL? Как vbNullString? или как vbNull (что равно 1).
Помогите разобраться, пожалуйста. Какой аналог NULL (для С++) существует в VBA? Не могу заставить функцию работать нормально. Грешу, что неправильно передаю этот NULL функции...
...
Рейтинг: 0 / 0
06.12.2013, 11:12
    #38491427
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
0
...
Рейтинг: 0 / 0
06.12.2013, 11:23
    #38491444
Игорь_777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
Antonariy,

не, не прокатило....))) Дело в том, что если посмотреть на описание функции
Код: vbnet
1.
Private Declare Function RasGetEntryDialParams Lib "rasapi32.dll" Alias "RasGetEntryDialParamsA" (ByVal lpcstr As String, ByRef lprasdialparamsa As RASDIALPARAMS, ByRef lpbool As Long) As Long


переменная lpcstr заданна как ByVal lpcstr As String .

Я передаю значение этой функции в коде так:

Код: vbnet
1.
 t = RasGetEntryDialParams(vbNullString, FParams, lpbool)



Функция вроде реагирует нормально на такую запись, но выдает в результате код внутренней ошибки. Я пытался подставить вместо vbNullString и 0 (сообщает о несовпадении типов, конечно!), и "". Функция ругается другой ошибкой.
Может, запись и верная, но вот это я и хочу выяснить, чтобы отсечь этот вариант при поиске ошибки.
...
Рейтинг: 0 / 0
06.12.2013, 12:12
    #38491516
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
Можно попробовать переобъявить ByVal lpcstr As Long и передавать 0, должно помочь.

Если где-то нужно использовать ненулевую строку, то можно сделать два объявления, As Long и As String.
...
Рейтинг: 0 / 0
06.12.2013, 12:36
    #38491567
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
CHR(0) попробуй передавать
...
Рейтинг: 0 / 0
06.12.2013, 13:23
    #38491662
Игорь_777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
Спасибо,камрады! :) Попробую варианты со сменой типа переменной. Дело в том, что другая ф-ция RasAPI у меня корректено работает с vbNullString.
Код: vbnet
1.
RasEnumEntries(vbNullString, vbNullString, rsname(0), lsize, ln)


Я склоняюсь к тому, что все же проблема не в описани переменных функции, а в том, что она не может найти нужные данные в системе. А это уже другая проблема.

Ну, и перед тем, как закрыть вопрос окончательно, скажите, почему vbNull возвращает 1, а не 0? )))
...
Рейтинг: 0 / 0
06.12.2013, 13:41
    #38491708
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
это так исторически сложилось в бейсике
...
Рейтинг: 0 / 0
06.12.2013, 13:59
    #38491757
Игорь_777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Синтаксис VBA. Как правильно передать значение NULL ?
Спасибо за ответы. Тема закрыта!)))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Синтаксис VBA. Как правильно передать значение NULL ? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]