Форум: "Сети";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c