![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открытие сокета в неглавной нити [D6, Win2k]
VaS © (2002-11-22 12:52:00)Почему приходиться делать так:
Socket.Active :=True;
repeat
C_System.DoProcessMes;
Sleep(10);
until Socket.Active = true;
Если убираем обработку сообщений, то сокет не откроется.
После введения нитки, работающей с сокетом таким образом, в нек момент времени (через минуту или через сутки - по разному) приложение при потере фокуса выдает AV по адресу 0. После чего каждая последующая потеря фокуса обязательно сопровождается данной ошибкой, хотя приложение продолжает работать.
У меня большие подозрения, что работать с сокетами нужно несколько иначе.
OutSidEr (2002-11-22 15:09:00) [1]ИМХО самое лучшее - это использовать нормальные библиотеки для работы с сокетами вместо стандартных дельфийских - Synapse например. Или, если хочется поизвращаться, можно и на вндовом API...
Polevi (2002-11-22 15:09:00) [2]если ты используешь TClientSocket, почитай хелп на WSAAsyncSelect
VaS (2002-11-22 14:21:00) [3]А подробнее? Сокеты используют для работы сообщения виндоус? Нет? Тогда как правильно организовывать работу с ними в нитях?
Polevi (2002-11-22 14:04:00) [4]твои подозрения не напрасны