Что такое значение Null для типа переменной Long в вызове API Windows? - PullRequest
0 голосов
/ 29 мая 2011

Тупой вопрос.Я думаю, что это должно быть 0, но я не могу найти его.

Итак, если я хочу передать нулевое значение в вызов Windows API (это происходит в VB6), какое значение будетЯ использую?Я думаю 0, но я думаю, это может быть VBNull.

Ответы [ 2 ]

1 голос
/ 29 мая 2011

Часто это будет нулевой указатель , а не нулевое значение.

Тогда это зависит от фактически используемого синтаксиса Declare.Если объявленный аргумент был элементом ByRef ... As ..., вы бы сказали ByVal 0& (или иногда vbNullString) в своем вызове.

Однако, если вы объявили указатели как ByVal ... As Long в объявлении (для использованияс VarPtr(), StrPtr() и т. д.) просто используйте 0& в вызове - это то, что вам нужно.

1 голос
/ 29 мая 2011

Если аргумент API является LONG (а не, скажем, LPVOID), попробуйте передать целочисленный литерал нулевого длинного 0&.

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