Форум: "Сети";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизWSAAccept и условная функция lpfnCondition : LPCONDITIONPROC Найти похожие ветки
← →
Spirit111 (2006-01-15 01:09) [0]Доброй ночи!
Бьюсь над такой проблемой:
Есть Thread, в котором слушаю порт. Для принятия нового подключения использую WSAAccept.
TListeningThread = class (TThread)
private
FServerSocket: TSocket;
...
protected
procedure Execute; override;
public
constructor Create(AOwner: TComponent; ASocket: TSocket);
destructor Destroy; override;
end;
TOnSearchInBlackList = procedure (ip: cardinal; var InBlackList: boolean) of object;
TMyTCPServer = class(TComponent)
private
FServerSocket: TSocket;
FOnSearchInBlackList: TOnSearchInBlackList;
...
published
property OnSearchInBlackList: TOnSearchInBlackList read FOnSearchInBlackList write FOnSearchInBlackList;
...
end;
function BeforeConnectionAccepted(lpCallerId: LPWSABUF; lpCallerData : LPWSABUF; lpSQOS,lpGQOS : LPQOS; lpCalleeId,lpCalleeData : LPWSABUF;
g : GROUP; dwCallbackData : DWORD ) : Integer; stdcall;
TMyTCPServer является компонентом, в котором есть событие OnSearchInBlackList. Пользователь сам описывает это событие, результатом будет возвращение переменной InBlackList: boolean.
Функция WSAAccept вызывается из TListeningThread.Execute.
А теперь о проблеме: Никак не могу из функции BeforeConnectionAccepted вызвать OnSearchInBlackList(...).
Точнее никак не могу через dwCallbackData передать указатели на эту функцию или объект TMyTCPServer, чтобы ее вызвать.
Буду очень благодарен за помощь!
P.S. Если что-то из моего объяснения неясно, задавайте вопросы - уточню проблему.
← →
Rouse_ © (2006-01-15 19:14) [1]Недостаточно кода... покажи код где описаны данные функции и как они примерно используються...
← →
Digitman © (2006-01-16 09:10) [2]function BeforeConnectionAccepted( ..) : Integer;
begin
..
with TMyTCPServer(Pointer(dwCallbackData)) do
if Assigned(OnSearchInBlackList) then
OnSearchInBlackList(...)
..
end;
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c