|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.02.2012, 16:05 | #1 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Получение данных в потоке через таймер
1. Подключиться через IdTCPClient1
2. В потоке через Timer получать данные 3. По событию формы Close остановить работу таймера и потока Код:
Код:
|
03.02.2012, 16:58 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
У вас таймер много потоков создает Да и зачем вам таймер когда все можно в потоке сделать примерно так, а можно все сделать чтобы в потоке создовался IdTCPClient1 и прием делать через событие
Код:
Последний раз редактировалось Aliens_wolfs; 03.02.2012 в 17:09. |
03.02.2012, 17:09 | #3 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Таймер и потоки - это как вилка и ложка. Вам надо или то или другое, но не оба сразу.
Опишите словами, что хотите получить.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.02.2012, 17:14 | #4 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
GunSmoker Не поможешь с кодировкой в этой теме http://www.programmersforum.ru/showt...=185948&page=2
|
03.02.2012, 17:23 | #5 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Грязными делами не занимаюсь.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.02.2012, 17:26 | #6 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Цитата:
Не догоню. Что должно быть в этой функции и как она должна быть прописана (procedure/function;в теле потока или в самой форме) |
|
03.02.2012, 17:27 | #7 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
GunSmoker
Да там грязного ничего нет просто ссылка нужна человеку, которая грузит нормальный фильм с чистого сайта в Flash Media там видимо своя кодировка Последний раз редактировалось Aliens_wolfs; 03.02.2012 в 17:40. |
03.02.2012, 17:30 | #8 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
А таймер зачем сделали? Периодически хотите делать или как?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.02.2012, 17:30 | #9 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Shouldercannon
Как функцию в теле потока в ней какое либо событие когда IdTCPClient1.Connected=false например активировать обратно кнопку для следующего запроса, но можно и не делать можно еще сделать не Synchronize(OnDisconnect) а destroy, тогда поток уничтожется но только после Terminate и тогда My_Thread.FreeOnTerminate := false; Последний раз редактировалось Aliens_wolfs; 03.02.2012 в 17:39. |
03.02.2012, 17:38 | #10 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
Возможно, я ошибаюсь, но IdTCPClient1 не умеет работать в режиме приёма, как ClientSocket1Read, поэтому и приходится как-то (Timer) проверять, не пришли ли данные.
Код:
Цитата:
Код:
Последний раз редактировалось Shouldercannon; 03.02.2012 в 17:45. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правельно работать с событием в потоке через форму | bulldog5293 | Общие вопросы Delphi | 13 | 16.08.2011 08:48 |
Таймер в потоке | alexprey | Общие вопросы Delphi | 14 | 11.08.2010 23:14 |
Создать таймер в потоке? | TwiX | Общие вопросы Delphi | 9 | 23.02.2010 21:39 |