Главная страница
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.047 c
3-1092977644
leonidus
2004-08-20 08:54
2004.09.19
Конвертация базы из dBase в Paradox


14-1093801741
gn
2004-08-29 21:49
2004.09.19
Выходит моя книга


4-1091446430
djon007
2004-08-02 15:33
2004.09.19
Кэш


1-1093863789
Piter
2004-08-30 15:03
2004.09.19
Медленная работа TIniFile


3-1093252815
InVariantian
2004-08-23 13:20
2004.09.19
Хранимая процедура и массив