Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > OnTimer Event


Автор: Alex_Alexin 6.3.2007, 20:05
По нажатию кнопки на форме с помощью команды TTimer.Enable:=True активируется событие TTimer.OnTimer, а потом стартует обсчет в долгоиграющем цикле. Но передача управления обработчику OnTimer-события почему-то начинает происходить только по завершению цикла. Надо, чтобы обсчет в цикле и выполнение обработчика OnTimer происходили параллельно. Помогите.
Заранее, спасибо.

Автор: Bose 6.3.2007, 20:10
Цитата(Alex_Alexin @  6.3.2007,  20:05 Найти цитируемый пост)
стартует обсчет в долгоиграющем цикле

запускай свой обсчёт в отдельном потоке(thread). 

Автор: Alex_Alexin 6.3.2007, 20:32
Цитата(Bose @ 6.3.2007,  20:10)
запускай свой обсчёт в отдельном потоке(thread).

Славно. :-)
Может, примерный кусок кода подкинете. А то мне это в новинку.

Автор: ~FoX~ 6.3.2007, 20:54
Alex_Alexin, Ты бы хоть код показал....

Автор: Albinos_x 6.3.2007, 21:19
Цитата(Bose @  6.3.2007,  20:10 Найти цитируемый пост)
запускай свой обсчёт в отдельном потоке(thread). 

или используй Application.ProgresMessages

Автор: Snowy 6.3.2007, 21:29
ProcessMessages smile
а лучше Application.HandleMessage.
Ибо пока крутится процесс, сообщения таймера ()да и вообще все сообщения) не обрабатываются. 
Поэтому нужно в процессе вызывать обработку ручками.

Автор: MetalFan 6.3.2007, 22:40
а мну думает, что лучше в отдельном потоке ресурсоемкие вычисления производить...
Process/Hadnle Messagess не есть гуд.

Автор: Sunvas 6.3.2007, 22:46
Цитата(Alex_Alexin @  6.3.2007,  20:32 Найти цитируемый пост)
Может, примерный кусок кода подкинете. А то мне это в новинку.

Поиск по форуму по слову (T)thread

Автор: RatHat 7.3.2007, 13:02
Alex_Alexin, а вообще, код покажи)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)