Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с получением данных, о сетевых адаптерах 
:(
    Опции темы
apostolnikolai
Дата 30.1.2011, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Почему в место данных в Windows XP выдает user posted image
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  Adapters, Adapter: PIP_ADAPTER_INFO;
  Size, Size2: ULONG;
  IpAddrString: PIP_ADDR_STRING;
  GatewayString: PIP_ADDR_STRING;
  DnsServerString: PIP_ADDR_STRING;
  pPerAdapterInfo: PIP_PER_ADAPTER_INFO;
  i: integer;
begin
  Size := 0;
  if GetAdaptersInfo(nil, Size) <> ERROR_BUFFER_OVERFLOW then Exit;
  Adapters := AllocMem(Size);
  try
    if GetAdaptersInfo(Adapters, Size) = 0 then
    begin
      Adapter := Adapters;
      while Adapter <> nil do
      begin
        Memo1.Lines.Add(pChar(@Adapter^.AdapterName) + '---' + pChar(@Adapter^.Description));

        Memo1.Lines.Add('          ' + 'Elenco Indirizzi IP:');
        IpAddrString := @Adapter^.IpAddressList;
        while IpAddrString <> nil do
        begin
          Memo1.Lines.Add('          ' + '          ' + (IpAddrString^.IpAddress.S) + '---' + (IpAddrString^.IpMask.S));
          IpAddrString := IpAddrString^.Next;
        end;

        Memo1.Lines.Add('          ' + 'Elenco Gateways:');
        GatewayString := @Adapter^.GatewayList;
        while GatewayString <> nil do
        begin
          Memo1.Lines.Add('          ' + '          ' + (GatewayString^.IpAddress.S));
          GatewayString := GatewayString^.Next;
        end;

        Size2 := 0;
        if GetPerAdapterInfo(Adapter^.Index, nil, Size2) <> ERROR_BUFFER_OVERFLOW then Exit;
        pPerAdapterInfo := AllocMem(Size2);
        GetPerAdapterInfo(Adapter^.Index, pPerAdapterInfo, Size2);

        Memo1.Lines.Add('          ' + 'Elenco Server DNS:');
        DnsServerString := @pPerAdapterInfo^.DnsServerList;
        while DnsServerString <> nil do
                begin
          Memo1.Lines.Add('          ' + '          ' + (DnsServerString^.IpAddress.S));
          DnsServerString := DnsServerString^.Next;
        end;

        Adapter := Adapter^.Next;
      end;
    end;
  finally
    FreeMem(Adapters);
    FreeMem(pPerAdapterInfo);
  end;

PM MAIL   Вверх
MetalFan
Дата 1.2.2011, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Потому, что код рассчитан под неюникод версию делфи, а ты наверное его пытаешься в 2009-XE пускать?
у меня код отрабатывает, если PChar на PAnsiChar поменять.

Это сообщение отредактировал(а) MetalFan - 1.2.2011, 18:59


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
bagos
Дата 2.2.2011, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 17.6.2006

Репутация: нет
Всего: 1



А не лучше использовать WMI ? Мне кажется он больше свободы действий может предоставить.
PM MAIL   Вверх
MetalFan
Дата 2.2.2011, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



bagos, А если служба не запущена?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
bagos
Дата 2.2.2011, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 17.6.2006

Репутация: нет
Всего: 1



MetalFan, по умолчанию то запущена! ;) ну да ладно, твоя правда))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.