Тема: Сокеты
Показать сообщение отдельно
  #2  
Старый 16.04.2012, 13:38
Аватар для Klassenas
Klassenas Klassenas вне форума
Новичок
 
Регистрация: 25.05.2009
Адрес: Казахстан, Павлодар
Сообщения: 87
Версия Delphi: Rad Studio 2010
Репутация: 1570
По умолчанию

Как я понял, этот компонент дублирует код из исходников ScktSrvr.exe.
Ошибка возникает в процедуре TSocketDispatcherThread.ClientExecute, в строке Event := FTransport.GetWaitEvent, при этом вызывается метод TSocketTransport.GetWaitEvent, находящийся в модуле SConnect.pas, где и происходит сбой при выполнении комады FEvent := WSACreateEvent;
Причём WSACreateEvent объявлена как переменная типа функция и значение ей присваивается в LoadWinSock2 из модуля SConnect.
Поставив брэйкпоинты в методе LoadWinSock2, я не заметил, чтобы он был вызван.
По ходу он не вызывается, переменная остаётся пустой, и при попытке к ней обратиться и возникает тот самый Access Violation.
Теперь вот думаю, как от этой ошибки избавиться.
Буду признателен, если кто-нибудь поможет думать.
__________________
Если ты чего-то не знаешь, значит есть шанс научиться чему-то новому
Ответить с цитированием