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

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

У меня такая проблема с клиент-сокетом: [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


Наверх

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