powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Синтаксис VBA. Как правильно передать значение NULL ?
8 сообщений из 8, страница 1 из 1
Синтаксис VBA. Как правильно передать значение NULL ?
    #38491423
Игорь_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем! Возможно, я задам глупейший вопрос, однако...
Читая мануалы по функциям RasAPI (справка Windows), описания примеров даны на С++. Читаю, например, что параметр функции надо передать как NULL.
При написании кода VBA задумался- а как мне передать этот параметр как NULL? Как vbNullString? или как vbNull (что равно 1).
Помогите разобраться, пожалуйста. Какой аналог NULL (для С++) существует в VBA? Не могу заставить функцию работать нормально. Грешу, что неправильно передаю этот NULL функции...
...
Рейтинг: 0 / 0
Синтаксис VBA. Как правильно передать значение NULL ?
    #38491427
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0
...
Рейтинг: 0 / 0
Синтаксис VBA. Как правильно передать значение NULL ?
    #38491444
Игорь_777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Синтаксис VBA. Как правильно передать значение NULL ?
    #38491516
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать переобъявить ByVal lpcstr As Long и передавать 0, должно помочь.

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


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

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


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