Вниз
Скачать: CL | DM;

У меня такая проблема с клиент-сокетом:   Найти похожие ветки 

 
KirGus ©   (2005-07-22 13:37) [0]

У меня такая проблема с клиент-сокетом:

Я делаю обращение к хосту через прокси,  кс прекрасно выполняет эту работу, но только до некоторых пор, т.е. кс проработав через прокси некоторое время  выдается такую мне ошибку:

«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 13:59) [1]

данное исключение возбуждается при попытке изменения значений св-в ClientType, Host, Port, Service, Address в момент когда зн-е св-ва Active = True


 
kirgus ©   (2005-07-22 14:05) [2]

А тогда почему этот модуль не работает?

if CS.Active then
begin
CS.Active := False;
cs.Close;
end;

И почему так происходит не всегда?


 
Digitman ©   (2005-07-22 14:26) [3]


> почему этот модуль не работает?


не вижу никакой "неработоспособности" в этом "модуле".
вижу лишь что cs.Close после CS.Active := False - лишнее... хотя на сабж никак не влияет

ошибка где-то в другом месте



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.04 c
14-1129270901
msguns
2005-10-14 10:21
2005.11.06
Мед


2-1129168891
lmz
2005-10-13 06:01
2005.11.06
Округлени числа бухгалтерским методом


3-1126600505
Monk
2005-09-13 12:35
2005.11.06
Получение индекса поля DBLookupListBox под курсором мыши


2-1129392436
Nicolas1989
2005-10-15 20:07
2005.11.06
Работа с COM портом


14-1129202563
Иг_Иг
2005-10-13 15:22
2005.11.06
Ася - Icq




   Наверх