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

Вниз

Что за проблема с мультимедиа-таймером? Пол дня мучаюсь.   Найти похожие ветки 

 
bineon   (2003-07-24 22:26) [0]

Пишу по книге, все как надо, а надо, вроде бы, так:
function timeSetEvent(uDelay, uResolution: Uint; lpTimeProc: Pointer;
dwUser: Dword; fuEvent: Uint): Uint; stdcall; external "winmm";
function timeKillEvent(uID: Uint): Uint; stdcall; external "winmm";

procedure TimerR(uID,uMsg: Uint; dwUse,dw1,dw2: Dword);
begin
timeKillEvent(timerID);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
timerID:=timeSetEvent(500,10,@TimerR,100,1)
end;

После вызова в последней процедуре таймер начинает работать, а через 500ms глохнет, не доходя до "килла", выдает стек проца и прочие отладочные гадости. Матерится, мол, проект остановлен с сообщением priveleged instruction at 0x76b3ffa0.

В ФАКе и форуме ничего нет, а искать ручками везде, где попало, не могу - мани треба. Ответ желательно на bineon@bk.ru. Заранее спасибо.


 
i-C3H7OH ©   (2003-07-24 23:07) [1]

вопервых не забыл про STDCALL?

а во вторых зачем все так через ж? т.е. убивать таймер в procedure TimerR? все-таки
procedure TimerR выполняется немого в другом потоке.....
если нужно чтоб он 1 раз сработал - используй timeSetEvent(500,10,@TimerR,100, TIME_ONESHOT)



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

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

Наверх




Память: 0.46 MB
Время: 0.015 c
1-82254
Кулюкин Олег
2003-09-15 12:16
2003.09.25
Аналог Node.HasChildren := false для MasterView от DevExpress


3-82101
Sheng
2003-09-04 17:00
2003.09.25
Объединение двух полей


14-82462
Омлет
2003-09-07 17:07
2003.09.25
Именинники 7 сентября !


1-82287
Алексей Петухов
2003-09-15 05:57
2003.09.25
Сохранить и Загрузить Форму.


3-82150
Юра
2003-09-03 16:06
2003.09.25
Как сделать запрос к двум базам?