Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

idTCPServer & idTCPClient Есть ли альтернатива readln ???   Найти похожие ветки 

 
banderas   (2004-07-13 19:31) [0]

У меня такая проблема: Я сделал что бы запрос был по таймеру
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
Всё вроди бы нормально но когда я пытаюсь отконнектится от сервака Вылазит "Not Connectid" причём столько раз сколько было сделанно запросов. Как сделать что бы эти запросы "сбрасывались" ???????????????
(Пожалуйста неделю парюсь) ;(


 
Reindeer Moss Eater ©   (2004-07-13 19:38) [1]

Зачем таймер компоненту с синхронными методами?
Зачем?
Зачем ему таймер?
Можешь объяснить?


 
banderas   (2004-07-13 19:40) [2]

Ребят я не знаю как подругому подскожите УМОЛЯЮ


 
Reindeer Moss Eater ©   (2004-07-13 19:45) [3]

Вызвав ReadLN ты не возвратишься из него пока не получишь строку, либо пока не произойдет таймаут, либо дисконнект.

Теперь добавляем пресловутый таймер и в каждом тике вызываем и вызываем ReadLn.
В то время как самый первый вызов еще не завершил работу.
Спрашивается зачем?

repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
until msg = "Пора домой";

и все.
и никаких таймеров.


 
banderas ©   (2004-07-13 21:05) [4]

Да чё то я про цикл repeat совсем позабыл. Но уменя снова небольшая проблема

repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
until msg = "qw1";

когда тыкаю на disconnect то вылазит всего лиш одно сообщение
Я пробовал так
idTCPClient1.WriteLn("qw1");
idTCPClient1.Disconnect;
но это не помогает...


 
Reindeer Moss Eater ©   (2004-07-14 09:06) [5]

когда тыкаю на disconnect то вылазит всего лиш одно сообщение

И что?
А сколько их было отправлено? (Учитывая твой недефолтный признак конца строки)


 
banderas ©   (2004-07-14 11:57) [6]

А как сделать что бы при нажатиии на дисконнект ни каких сообщений невылазило ?


 
Reindeer Moss Eater ©   (2004-07-14 12:06) [7]

А дальше можно уже по русски и внятно?

Мы вообще про сообщения сервера/клиента или про сообщения об ошибках?


 
Reindeer Moss Eater ©   (2004-07-14 12:12) [8]

Прочитай в книгах про блоки try except


 
banderas ©   (2004-07-14 12:24) [9]

Про сообщение об ОШИБКЕ:  "Not Connectid" при нажатии на Disconnect.

Если нажать на кнопку один раз то произойдёт Connect. А если ещё раз то Disconnect. Как сделать чтобы до Disconnecta происходила отправка сообщения (idTCPClient1.WriteLn("qw1");) или есть другой способ ?
 
procedure TForm1.Button2Click(Sender: TObject);
var
msg:string;
begin
if idTCPClient1.Connected=false then
begin
idTCPClient1.Host:=host.Text;
idTCPClient1.Connect(-1);
idTCPClient1.WriteLn("dsf");
button3.Caption:="Disconnect";
repeat
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
until msg = "qw1";

end
else
begin
idTCPClient1.WriteLn("qw1");
idTCPClient1.Disconnect;
button3.Caption:="Connect";
end;

end;


 
Reindeer Moss Eater ©   (2004-07-14 12:28) [10]

procedure TForm1.Button2Click(Sender: TObject);
var
msg:string;
begin
if idTCPClient1.Connected=false then
begin
idTCPClient1.Host:=host.Text;
idTCPClient1.Connect(-1);
idTCPClient1.WriteLn("dsf");
button3.Caption:="Disconnect";
ExitFlag := False;
repeat
try
msg:=idTCPClient1.ReadLn("",1,9999999);
memo1.Lines.Add(msg);
except
ExitFlag := true;
end;
until msg = "qw1" or ExitFlag;

end
else
begin
idTCPClient1.WriteLn("qw1");
ExitFlag := true;
idTCPClient1.Disconnect;
button3.Caption:="Connect";
end;

end;


 
Reindeer Moss Eater ©   (2004-07-14 12:31) [11]

Ну и еще прочитай описание метода CheckForDisconnect


 
banderas ©   (2004-07-14 12:50) [12]

ВСЕ РАБОТАЕТ БОЛЬШОЕ СПАСИБО!!! :)



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

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.067 c
14-1093917347
Думкин
2004-08-31 05:55
2004.09.19
С днем рождения!


14-1094003510
Думкин
2004-09-01 05:51
2004.09.19
С днем рождения! 1 сентября


6-1089732673
banderas
2004-07-13 19:31
2004.09.19
idTCPServer & idTCPClient Есть ли альтернатива readln ???


4-1091615507
antonn
2004-08-04 14:31
2004.09.19
Explorer


14-1093830697
Думкин
2004-08-30 05:51
2004.09.19
С днем рождения! 30 августа