Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

Проблема использования таймера из 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 вся ветка

Форум: "Media";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
15-1183383132
Jeer
2007-07-02 17:32
2007.07.29
Первый петафлоповец от IBM


15-1183358273
Бакук
2007-07-02 10:37
2007.07.29
Кросс-таблицы, Pivot


2-1183407477
Okolobaxa
2007-07-03 00:17
2007.07.29
Странная ошибка при выполнении


2-1183614748
petvv
2007-07-05 09:52
2007.07.29
Paradox + D7 = Грабли


15-1183098004
Alkid
2007-06-29 10:20
2007.07.29
wmp.dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский