Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 346
от 24.11.2006, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 393, Экспертов: 29
В номере:Вопросов: 1, Ответов: 1


Вопрос № 63297: Доброго времени суток, уважаемые эксперты. Написал программу, которая должна выполнять функцию цифрового метронома (прибор, способный производить произвольное количество тактовых долей времени на слух; служит как вспомогательный прибор для устано...

Вопрос № 63.297
Доброго времени суток, уважаемые эксперты.
Написал программу, которая должна выполнять функцию цифрового метронома (прибор, способный производить произвольное количество тактовых долей времени на слух; служит как вспомогательный прибор для установления точного ритма в музыкальном произведении.) Алгоритм простой, но и тут умудрился наступить на грабли. При изменении ритма ползунком трекбар-контрола программа завершает свою работу. Полагаю проблема либо в инициализации таймера, либо в неправильном определении TimerValue в процедуре TimerValueInit. Пожалуйста, подскажите, в чем ошибка и что еще на ваш взгляд реализовано неграмотно. Спасибо. =)

Приложение:

Отправлен: 19.11.2006, 20:19
Вопрос задал: boot_sector (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: John Paramol
Здравствуйте, boot_sector!
Вот ошибки, которые мне удалось найти:
- Неправильный вызов SetTimer. Второй параметр = IDT_TIMER, а последний параметр должен быть NULL, т.к. вы обрабатываете WM_TIMER внутри DialogProc.
- При каждом изменении значения position вам надо убивать таймер вызовом KillTimer и создавать его заново с новым значением TimerValue. В вашем случае лучше делать это внутри TimerValueInit
- Вы не должны вызывать DefWindowProc в DialogProc, вместо этого возвращайте в eax TRUE по обработанным сообщениям, и FALSE по всем остальным.
- Для buffer понадобится как минимум 4 байта.
Удачи!
Ответ отправил: John Paramol (статус: 3-ий класс)
Ответ отправлен: 19.11.2006, 23:38
Оценка за ответ: 5
Комментарий оценки:
спасибо. =)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное