Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
14-1092068335
Black_phoenix
2004-08-09 20:18
2004.09.19
Проблема программного обеспечения в компьютерных клубах


14-1093852029
GRAND25
2004-08-30 11:47
2004.09.19
Конкурс футбольных прогнозистов Лиги Чемпионов сезона 2004/2005


3-1092906175
Карелин Артем
2004-08-19 13:02
2004.09.19
Доступ по к базе IB c использованием NamedPipe


14-1094038241
Kurtevich
2004-09-01 15:30
2004.09.19
Из-за чего бывает ошибка?


14-1093525219
ИМХО
2004-08-26 17:00
2004.09.19
Список из 50 программ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский