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

Вниз

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

 
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 вся ветка

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

Наверх




Память: 0.44 MB
Время: 0.009 c
1-82221
Olvin
2003-09-12 11:21
2003.09.25
Как удалить переход на новую при вставке текста в МЕМО ???


1-82235
LeNa19
2003-09-10 23:25
2003.09.25
создание обработчиков событий в runtime


3-82123
AndDem
2003-08-27 14:06
2003.09.25
LoginPrompt в ADO


3-82157
sashag
2003-09-03 15:07
2003.09.25
Backup БД Interbase


3-82127
andrew_s
2003-09-04 13:59
2003.09.25
открытие базы данных Access используемой другим приложением





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский