Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2015, 16:34   #31
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

min@y™, добрался до Вашего архивчега и сразу озадачила функция PacketGetAdapterNames
Код:
FDLL_LAST_RESULT_DW:= PacketGetAdapterNames(Names, @Size); // возвращает 0
ДралсяСошибками вне форума Ответить с цитированием
Старый 29.06.2015, 16:39   #32
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
добрался до Вашего архивчега и сразу озадачила функция PacketGetAdapterNames
И чего теперь?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 29.06.2015, 16:46   #33
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Это просто код возврата.
Код:
  // Класс-список адаптеров
  TAdapterList = class(TObjectList)
  private
    // Поля
    FDLL_LAST_RESULT_DW: DWORD; // для отладки (последний код возврата DLL-функции) <------------- !!!!!!!!!!!!!!

    // Поля событий
    FOnLogMessage: TAdapterListDebugEvent;
    FOnAdapterLogMessage: TAdapterDebugEvent;
    FOnAdapterMessageReceive: TAdapterPacketReceiveEvent;
    FOnAdapterError: TAdapterErrorEvent;

    // Функции доступа к полям/свойствам
    function GetAdapter(const Index: Integer): TAdapterItem; // доступ по индексу к физ. адаптерам

    // Технологические функции
    // procedure UpdateAdapters; // составление списка доступных сетевых адаптеров
  protected
    procedure DoLogMessage(const Message: string);
  public
    // Конструктор и деструктор
    constructor Create; reintroduce;
    destructor Destroy; override;

    // Методы
    function UpdateAdapters: Integer; // составление списка доступных сетевых адаптеров
    procedure AssignAdaptersToStrings(ALines: TStrings); // составление списка строк с привязкой к объектам адаптеров

    procedure CloseAllAdapters(); // закрытие открытых адаптеров

    // Свойства
    property DLL_LAST_RESULT_DW: DWORD read FDLL_LAST_RESULT_DW;
    property Items[const Index: Integer]: TAdapterItem read GetAdapter; default;

    // События
    property OnLogMessage: TAdapterListDebugEvent read FOnLogMessage write FOnLogMessage;
    property OnAdapterLogMessage: TAdapterDebugEvent read FOnAdapterLogMessage write FOnAdapterLogMessage;
    property OnAdapterMessageReceive: TAdapterPacketReceiveEvent read FOnAdapterMessageReceive write FOnAdapterMessageReceive;
    property OnAdapterError: TAdapterErrorEvent read FOnAdapterError write FOnAdapterError;
  end;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 29.06.2015, 16:56   #34
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Не хочет почему-то эта функа работать у меня на компе, не возвращает список адаптеров((( Погуглил, вроде есть такая беда у кого-то, пока хз, с чем это связано((
ДралсяСошибками вне форума Ответить с цитированием
Старый 29.06.2015, 17:07   #35
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

попробуй запускать с правами админа для начала.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 29.06.2015, 17:13   #36
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Не хочет почему-то эта функа работать у меня на компе
покажи кусочек кода, штоль...
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 29.06.2015, 18:22   #37
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Модуль uAdapters.pas
Код:
function TAdapterList.UpdateAdapters: Integer;
var
  Names: array[0..ADAPTERS_BUFFER_SIZE - 1] of Char; // буфер под строку из DLL
  Size: DWORD;
  Index: Integer;
  Temp: string;
  NewAdapter: TAdapterItem;
begin
  FillChar(Names, SizeOf(Names), #00);
  //pNames:= @Names;
  Size:= SizeOf(Names);
  FDLL_LAST_RESULT_DW:= PacketGetAdapterNames(Names, @Size); // Тут долго стоит, видимо из-за WaitObjectSingle....
// а потом Size = 0, а в Names нули(( #0
  //DoLogMessage(Format('DLL_LAST: 0x%.8X, Size: %d.', [FDLL_LAST_RESULT_DW, Size]));

  // составление списка
  Index:= 0;
  while (Index < ADAPTERS_BUFFER_SIZE - 1) and (Names[Index] <> #0) do
Права админа не причём, я под админом))
ДралсяСошибками вне форума Ответить с цитированием
Старый 29.06.2015, 18:43   #38
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

ну и чем я могу помочь?
тестировал на win7x32 и win8x64. нигде такая шляпа не вылезала.
на других компах пробовал?
winpcap корректно установлен? другие программы, юзающие winpcap, работают?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 29.06.2015, 18:59   #39
ДралсяСошибками
Форумчанин
 
Аватар для ДралсяСошибками
 
Регистрация: 31.05.2011
Сообщений: 301
По умолчанию

Насчёт корректности установки не уверен, возможно версии dl не сходятся, сейчас по сравниваю)))

Заработало, мои dll в винде оказались младше Ваших из архива((
ДралсяСошибками вне форума Ответить с цитированием
Старый 29.06.2015, 19:08   #40
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

вот тебе хэши для сравнения.
Изображения
Тип файла: jpg 21.jpg (34.8 Кб, 116 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных по сети Vadiliy Общие вопросы .NET 11 25.02.2014 08:15
Передача данных по сети Imposters Общие вопросы .NET 2 13.10.2012 18:45
передача данных по локальной сети DinamoBrynsk Помощь студентам 2 22.11.2010 22:17
Передача данных по сети. Alex Cones Работа с сетью в Delphi 2 06.08.2010 20:55
Передача данных по сети. ROD Общие вопросы C/C++ 3 18.06.2009 09:41