|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Не забывайте указать, какой спецификатор используется до ваших конструкций (const, var, type...). Скорее всего, у вас тип Longint, т.е. знаковый, 4 байта, а $FFFFFFFF не влазит в этот диапазон. Нужно Longword.
|
#17
|
||||
|
||||
Цитата:
А вообще, наверное, для этого модуля нужно выставить {$MINENUMSIZE 4}, чтобы было совместимо с сишными исходниками. Мож тогда предупреждение само собой пропадет. Не стоит путать форумы с богадельнями. © Bargest |
Этот пользователь сказал Спасибо Freeman за это полезное сообщение: | ||
Agat330 (25.07.2014)
|
#18
|
|||
|
|||
Перечисления в "Type" находятся.
|
#21
|
|||
|
|||
VOID означает, что на Delphi нужно писать procedure, а не function (в Си нет процедур, только функции. VOID означает, что функция ничего не возвращает).
PVOID это указатель. В параметре pReserved поставьте константу nil. В параметре pMemory ставьте указатель на массив, обычно это адрес первого элемента (напр., @Mas[0]). Последний раз редактировалось AlexSku, 24.07.2014 в 12:43. |
Этот пользователь сказал Спасибо AlexSku за это полезное сообщение: | ||
Agat330 (24.07.2014)
|
#22
|
|||
|
|||
Насчет pMemory - не понял, о каком массиве речь. Он типа pVoid - указатель в пустоту?
Последний раз редактировалось Agat330, 24.07.2014 в 14:00. |
#24
|
|||
|
|||
Будете смеяться, я наконец-то допёр насчет pMemory
Код:
procedure WlanFreeMemory(pMemory: Pointer); stdcall; external 'wlanapi.dll' name 'WlanFreeMemory'; Freeman, после добавления {$MINENUMSIZE 4} Warning'и не исчезли. А вариант Integer($ffffffff) сработал. То есть сейчас перечисления у меня выглядят так: Код:
Type ... DOT11_AUTH_ALGORITHM = ( DOT11_AUTH_ALGO_80211_OPEN = $1, ... DOT11_AUTH_ALGO_RSNA_PSK = $7, DOT11_AUTH_ALGO_IHV_START = Integer($80000000), DOT11_AUTH_ALGO_IHV_END = Integer($ffffffff)); DOT11_CIPHER_ALGORITHM = ( DOT11_CIPHER_ALGO_NONE = $00, ... DOT11_CIPHER_ALGO_WEP = $101, DOT11_CIPHER_ALGO_IHV_START = Integer($80000000), DOT11_CIPHER_ALGO_IHV_END = Integer($ffffffff)); DOT11_PHY_TYPE= ( dot11_phy_type_unknown = $0, ... dot11_phy_type_vht = $8, dot11_phy_type_IHV_start = Integer($80000000), dot11_phy_type_IHV_end = Integer($ffffffff)); Последний раз редактировалось Agat330, 25.07.2014 в 22:11. |
#25
|
|||
|
|||
Почему у вас нумерация WLAN_INTERFACE_STATE не с 0 а с 1?
Если с нуля, то =0, =1 и т.д. можно не указывать. У массивов также лучше индексы делать с 0: не [1..256], а [0..255]. Единственно, если это строка, то добавить один элемент (в конце ASCIIZ будет 0). Последний раз редактировалось AlexSku, 28.07.2014 в 11:02. |
#26
|
|||
|
|||
По тому, что протупил. Спасибо, исправил
|