Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > События минимизации и максимизации формы


Автор: Guest 28.10.2005, 16:12
Приложение в одном потоке принимает с COM-порта данные каждые 100мс, а в другом отрисовывает графики по полученным данным. При нажатии на системные кнопки формы минимизации или максимизации некоторые данные теряются. Создается впечатление, что приложение "засыпает" на время нажатия этих кнопок. Можно ли это как-нибудь обойти?

Автор: _hunter 28.10.2005, 16:33
данные именно теряются ( т.е. не попадают в считывающий поток ) или не отрисовываются?

Автор: Snowy 28.10.2005, 19:11
Может отключить анимацию окон в виндах?
Думаю, во время анимации приложение не получает сообщения таймера.
Как вариант - избавиться от таймера и делать паузу Sleep(100)

Автор: Guest 31.10.2005, 09:14
Snowy, спасибо smile Если анимацию отключить то все работает нормально. Как вариант - программно отключать анимацию на время выполнения программы, т.к. от таймера отказаться не могу. Данные должны приходить каждые 100мс, т.е. все работает в реальном времени. Хотя хотелось бы и настройки винды не трогать и чтобы программа работала.

Автор: Snowy 31.10.2005, 15:28
Тогда создавай в отдельном потоке.
Или создавай таймер вручную - чтобы он не сообщение форме посылал, а вызывал функцию.

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