![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
У меня такая проблема с клиент-сокетом: [D6]
KirGus © (2005-07-22 13:37:00)У меня такая проблема с клиент-сокетом:
Я делаю обращение к хосту через прокси, кс прекрасно выполняет эту работу, но только до некоторых пор, т.е. кс проработав через прокси некоторое время выдается такую мне ошибку:
«can't change value while socket is active»
Алгоритм программы:
По событию таймера:
{…}
if CS.Active then
begin
CS.Active := False;
cs.Close;
end;
with CS do
begin
CS.Host := copy(Str,1,pos(':',Str)-1);
CS.Port := StrToInt(copy(Str, pos(':',Str)+1 ,Length(str)-pos(':',Str)));
Panel2.Caption:='Host: '+CS.Host+' Port: '+IntToStr(CS.Port);
Active := True;
end;
{…}
По событию коннект:
{..}
Socket.SendText(t);
cs.Close;
{
Я делаю обращение и закрываю кс
}
З.ы.
За ответы, спасибо.
Digitman (2005-07-22 14:26:00) [1]
> почему этот модуль не работает?
не вижу никакой "неработоспособности" в этом "модуле".
вижу лишь что cs.Close после CS.Active := False - лишнее... хотя на сабж никак не влияет
ошибка где-то в другом месте
kirgus (2005-07-22 14:05:00) [2]А тогда почему этот модуль не работает?
if CS.Active then
begin
CS.Active := False;
cs.Close;
end;
И почему так происходит не всегда?
Digitman (2005-07-22 13:59:00) [3]данное исключение возбуждается при попытке изменения значений св-в ClientType, Host, Port, Service, Address в момент когда зн-е св-ва Active = True