Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.29;
Скачать: CL | DM;

Вниз

Проблема использования таймера из MMSystem   Найти похожие ветки 

 
toboom ©   (2006-11-02 14:58) [0]

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

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

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


 
@!!!ex   (2006-11-02 15:16) [1]

Возможно виновата многопоточность.
Вроде мультимедийный таймер в отдельном потоке работает.
Поставь время для обработки таймера больше 0.(Кстати, об этом прямо сказано в хелпе, что не стоит ставить 0)


 
toboom ©   (2006-11-02 18:51) [2]

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


 
Ketmar ©   (2006-11-02 18:55) [3]

>[2] toboom(c) 2-Nov-2006, 18:51
>Точность таймера я тоже понизил
ой. научи, а?


 
toboom ©   (2006-11-02 20:50) [4]

В смысле в
TimeSetEvent(TimerInterval, 0, @TimeProc1, 0, TIME_PERIODIC)
вместо первого 0 поставил 1 (т.е. разрешил погрешность 1 мсек)



Страницы: 1 вся ветка

Текущий архив: 2007.07.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
2-1183361301
Dyakon_Frost
2007-07-02 11:28
2007.07.29
Как присвоить один код для многих компонентов одного типа


15-1183225038
@!!ex
2007-06-30 21:37
2007.07.29
Можно ли вернуть РАБОЧУЮЮ, но не совместимой с железом видюху?


2-1183552580
Bad_B
2007-07-04 16:36
2007.07.29
Создать и уничтожить


1-1179832264
pasha_golub
2007-05-22 15:11
2007.07.29
Получить значение заданных полей через RTTI


15-1183383132
Jeer
2007-07-02 17:32
2007.07.29
Первый петафлоповец от IBM