Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка работы с сокетами [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо