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

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

Проблема использования таймера из MMSystem [D6, WinXP]


toboom ©   (2006-11-02 15:05:00) 

Народы!
Создаю таймер
TimerID[I]:=TimeSetEvent(TimerInterval, 0, @TimeProc1, 0, TIME_PERIODIC);

Внутри обработчика TimeProc1 среди остального делается копирование
Canvas.CopyRect(MRD, FBmp.Canvas, MRS)
из BMP-хи.
Так вот достаточно часто, но не всегда из этой самой BMP-хи копируется
черти что, а не то, что в ней есть.
Т.е. будто иногда в обработчике таймера мы попадаем в какое-то иное адресное пространство или
иной какой глюк происходит.
Может кто сталкивался с подобным и догадывается чего делать?

Заранее благодарен.


toboom   (2006-11-02 18:50:00) [1]

Спасибо, люди подсказали.
В принципе, надо корректно всё переписать через критические секции, но
оказалось достаточным сделать Lock обоих используемых Canvas. Ну и разлочить
соответсвенно.


Наверх

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