Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в TidTCPClient принять строку? [D7, Win95/98, WinME, Win2k, WinXP]


dr Tr0jan ©   (2004-02-04 07:39:00) 

Как в TidTCPClient принять строку, которую передал TidTCPServer?
Я знаю, что есть такая функция TidTCPClient.ReadLn(): string;.
Но как принимать эти строки постоянно, при использовании таймера клиент наглухо виснет (да и думаю, что это не самый подходящий способ).


Devel   (2004-02-09 16:10:00) [1]

dr Tr0jan © (04.02.04 07:39):

function ReadLn(ATerminator: string = LF; const ATimeout: Integer = IdTimeoutDefault; AMaxLineLength: Integer = -1): string;

чтобы не висло в таймере делай ReadLn с таймаутом например 5 ms.


Александр из Минска   (2004-02-09 15:55:00) [2]


> dr Tr0jan ©   (05.02.04 02:44) [6]

в Delphi6 есть...


Reindeer Moss Eater   (2004-02-05 15:31:00) [3]

Вопрос:

...Но как принимать эти строки постоянно, при использовании таймера клиент наглухо виснет ...

Ответ:

repeat
MyString:=TidTCPClient.ReadLn;
until not постоянно;

Таймера нет, и строки принимаются постоянно.
Если что-то в вопросе подразумевалось еще, то я тоже в свою очередь подразумевал, что спрашивающий знаком с многопоточностью в Windows и вспомогательными классами используемой библиотеки


dr Tr0jan   (2004-02-05 14:58:00) [4]

2 Reindeer Moss Eater ©:

> В исходном вопросе ни слова ни про какие окна нет.

При использовании таймера клиент наглухо виснет. А клиент постороен на окнах.

Звиняйте времени проверить антифриз не было, может завтра проверю.


dr Tr0jan   (2004-02-05 14:58:00) [5]

2 Reindeer Moss Eater ©:

> В исходном вопросе ни слова ни про какие окна нет.

При использовании таймера клиент наглухо виснет. А клиент постороен на окнах.

Звиняйте времени проверить антифриз не было, может завтра проверю.


Reindeer Moss Eater   (2004-02-05 10:31:00) [6]

Ну я это и имею ввиду, вот только ни в какие окна клиента ничё прописать нельзя.

В исходном вопросе ни слова ни про какие окна нет.


dr Tr0jan   (2004-02-05 02:44:00) [7]

2 Reindeer Moss Eater ©:

>Никакой клиент не виснет.
Клиент постоянно принимает строки.


Ну я это и имею ввиду, вот только ни в какие окна клиента ничё прописать нельзя.

2 Manulo ©:

Спасибо, попробую!

2 Александр из Минска ©:

разве в Delphi 7 есть такая папка, чё-то я не видел.


dr Tr0jan   (2004-02-05 02:44:00) [8]

Удалено модератором
Примечание: Дубль...


Александр из Минска   (2004-02-04 21:20:00) [9]

Согласен с Reindeer Moss Eater, в Demos\Internet\Chat\Client всё нормально берёт, даже используя таймер.


Manulo   (2004-02-04 15:30:00) [10]

добавь на форму IdAnteFreeze. Должно попустить


Reindeer Moss Eater   (2004-02-04 14:17:00) [11]

Никакой клиент не виснет.
Клиент постоянно принимает строки.


dr Tr0jan   (2004-02-04 14:15:00) [12]

Это то же самое, опять клиент наглухо виснет.


Reindeer Moss Eater   (2004-02-04 08:44:00) [13]

repeat
MyString:=TidTCPClient.ReadLn;
until not постоянно;


Наверх

Титульная страница Поиск, карта сайта Написать письмо