![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
В общем ситуация следующая:
Делаем событие для IdHTTPServer на получение запроса, при выполнении которого запускается таймер. То есть получили запрос на IdHTTPServer - запустили Timer. Событие на таймере пусть будет например подсчет секунд в лабеле. Грабли в следующем - после получения запроса таймер запускается, но события, которые висят на onTimer не выполняются. Вот полный исходник примера: Код:
Итак, делаем запрос и видим что запрос получен, но отсчет в лабеле не пошел. Нажимаем кнопку и ничего не происходит (это таймер останавливается), нажимаем еще раз и отсчет пошел. А теперь хочу обратить внимание на один момент - в коде закомментирован Showmessage. Он появляется после получения запроса и запуска таймера. Снимаем коммент, и наблюдаем следующую картину - делаем запрос, стартует таймер, появляется Showmessage, и если его не закрыть то таймер работает, стоит только нажать "Ок", и все, таймер снова застопорился. Что это за чудеса такие? Как решить проблему? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 228
|
![]()
Так это ж понятно - вывод мессаги останавливает основную прогу. Выход - не используй модальное окно, выводи сообщения в лог типа в мемо поле.
Последний раз редактировалось Usov; 10.05.2011 в 16:19. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]()
Ты меня не совсем понял - там месседж вообще не нужен, его в программе вообще не будет. Проблема в том что таймер не выполняет код, который я на него повесил, а если туда вцепить еще и месседж, то пока он будет висеть на переднем плане - программа будет работать как надо, а если я его закрою, то все снова зависнет.
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Обработчик события OnCommandGet вызывается в дополнительном кодовом потоке. Со всеми вытекающими последствиями.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.11.2010
Сообщений: 31
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отображение картинок idhttpserver | bookkc | Помощь студентам | 11 | 27.12.2011 17:40 |
IdHttpServer Cookies | postal2 | Работа с сетью в Delphi | 7 | 09.09.2009 15:23 |
IdHttpServer - по какому ip идти? | postal2 | Работа с сетью в Delphi | 9 | 08.09.2009 17:46 |
вопрос по IdHTTPServer | CraZZy RabbIt | Работа с сетью в Delphi | 2 | 24.07.2009 12:59 |
IdHTTPServer | lukash | Работа с сетью в Delphi | 2 | 26.09.2007 02:26 |