![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка работы с сокетами [D7, Win2k]
SergK © (2003-08-18 16:58:00)
Кто знает, как перехватить выскакивание виндовой ошибки Asinchronous socket error 10061? Возникает она, если пытаться коннектиться ч/з TClientSocket к закрытому порту. Код типа:
try
ClientSocket1.Open;
except
Application.MessageBox("Not listened", "O-o-p-s!");
end;
не посогает, т.к. секция except проскакивает прежде, чем Open ответ от сервера.
Evgeny V (2003-08-20 05:58:00) [1]
Для асинхронных сокетов можно перехватить ошибку на уровне Application Application->OnException=MyException;
void __fastcall TForm1::MyException(TObject * Sender, Exception * E)
{
//TODO: Add your source code here
if (String(E->ClassName())=="ESocketError")
{
//что-то делаем
}
}//код на си++ билдер
Или использовать компонент TApplicationEvents, в нем прописать событие On Exception аналогично
Digitman (2003-08-19 14:24:00) [2]
либо ДО ClientSocket1.Open установи св-во ClientType := ctBlocking
Polevi (2003-08-18 17:37:00) [3]
ErrorCode:=0 в OnError