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

Вниз

Multimedia timer   Найти похожие ветки 

 
Sergey Koshelev   (2003-11-03 13:10) [0]

таймер
idTimer:= TimeSetEven(Interval,Timer_Resolution,@MyProc,TIME_PERIODIC);
вызывает CallBack процедуру:
MyProc (var idTimer,Msg: WORD; var Data,dw1,dw2:LONGWORD);
begin
LineTo (X_,Y_);
end;
процедура срабатывает один раз и компьютер виснет
Может быть в теле процедуры должно что-то делаться, чтобы программа выходила из нее нормально ? Подскажите пожалуйста, как правильно написать callback функцию, или
где найти исходник с примером работы мультимедийного таймера ?


 
Woolen ©   (2003-11-03 15:57) [1]

не знаю почему у тебя виснет комп, но функция у тебя определена неправильно:
1) Первые 2 параметра не Word, а UINT. Ведь Word - 16 битный, а UINT - 32 битный.
2) Параметры надо принимать как непосредственные, а не как указатели на параметры, потому убери из объявления var.
3) Ты не забыл, что вызывается функция с передачей всех параметров в стеке в соответствии с конвенцией вызовов stdcall? Если забыл, укажи в объявлении функции после точки с зяпятой "stdcall;".


 
Sergey Koshelev   (2003-11-03 19:06) [2]

Благодарю за помощь. Теперь все работает.


 
app ©   (2003-11-03 19:26) [3]

Вот официаьное определение типа для CallBack процедуры

TFNTimeCallBack = procedure(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD) stdcall;



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-99482
Aleksandr
2003-12-04 13:50
2003.12.30
Что вызывает тормоза скроллинга по RXDBGrid?


14-99772
}|{yk
2003-12-09 19:19
2003.12.30
Математические методы в научных исследованиях


6-99670
Makhanev A.S.
2003-10-31 10:59
2003.12.30
TServerSocket/TClientSocket - насколько они мощны?


14-99708
Style
2003-12-08 19:59
2003.12.30
Товарищи нужен совет!


14-99702
SiJack
2003-12-09 14:15
2003.12.30
Наушение закона или нет ?