Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 23.07.2014, 11:56
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Не забывайте указать, какой спецификатор используется до ваших конструкций (const, var, type...). Скорее всего, у вас тип Longint, т.е. знаковый, 4 байта, а $FFFFFFFF не влазит в этот диапазон. Нужно Longword.
Ответить с цитированием
  #17  
Старый 23.07.2014, 15:26
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Agat330
почему-то на последние две строчки этих перечислений компилятор выдает
Предполагаю, что компилятор по умолчанию приводит перечислимые типы к знаковому Integer, поэтому и ругается. Большие значения можно попробовать привести: Integer($80000000).

А вообще, наверное, для этого модуля нужно выставить {$MINENUMSIZE 4}, чтобы было совместимо с сишными исходниками. Мож тогда предупреждение само собой пропадет.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Этот пользователь сказал Спасибо Freeman за это полезное сообщение:
Agat330 (25.07.2014)
  #18  
Старый 23.07.2014, 23:58
Agat330 Agat330 вне форума
Прохожий
 
Регистрация: 08.04.2014
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Перечисления в "Type" находятся.
Ответить с цитированием
  #19  
Старый 24.07.2014, 01:07
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Выложи где-нибудь полный исходник. Под какую он версию Delphi?
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #20  
Старый 24.07.2014, 08:14
Agat330 Agat330 вне форума
Прохожий
 
Регистрация: 08.04.2014
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Под XE3. Исходник
Ответить с цитированием
  #21  
Старый 24.07.2014, 12:36
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Цитата:
Сообщение от Agat330
P.S.: Что означают VOID здесь и PVOID здесь?
VOID означает, что на Delphi нужно писать procedure, а не function (в Си нет процедур, только функции. VOID означает, что функция ничего не возвращает).
PVOID это указатель. В параметре pReserved поставьте константу nil. В параметре pMemory ставьте указатель на массив, обычно это адрес первого элемента (напр., @Mas[0]).

Последний раз редактировалось AlexSku, 24.07.2014 в 12:43.
Ответить с цитированием
Этот пользователь сказал Спасибо AlexSku за это полезное сообщение:
Agat330 (24.07.2014)
  #22  
Старый 24.07.2014, 13:45
Agat330 Agat330 вне форума
Прохожий
 
Регистрация: 08.04.2014
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Насчет pMemory - не понял, о каком массиве речь. Он типа pVoid - указатель в пустоту?

Последний раз редактировалось Agat330, 24.07.2014 в 14:00.
Ответить с цитированием
  #23  
Старый 24.07.2014, 17:33
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Agat330
Он типа pVoid - указатель в пустоту?
Это указатель на что угодно, в Delphi это Pointer.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #24  
Старый 25.07.2014, 21:43
Agat330 Agat330 вне форума
Прохожий
 
Регистрация: 08.04.2014
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Будете смеяться, я наконец-то допёр насчет 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  
Старый 28.07.2014, 10:58
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Почему у вас нумерация WLAN_INTERFACE_STATE не с 0 а с 1?
Если с нуля, то =0, =1 и т.д. можно не указывать.
У массивов также лучше индексы делать с 0: не [1..256], а [0..255]. Единственно, если это строка, то добавить один элемент (в конце ASCIIZ будет 0).

Последний раз редактировалось AlexSku, 28.07.2014 в 11:02.
Ответить с цитированием
  #26  
Старый 28.07.2014, 16:11
Agat330 Agat330 вне форума
Прохожий
 
Регистрация: 08.04.2014
Сообщения: 26
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

По тому, что протупил. Спасибо, исправил
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter