Форум — Ответы     (  К темам )
 ?  Dr.Phoenix: Типа будильник... (22-04-2003 01:31:07)
Вот решил написать прогу "типа будильник". Работает след оьразом: в DateTimePicker юзер вводит время, показывает путь к винампу и к песне, через ShellExecute запускается по времени винам и юзер просыпается. Проверка времени стоит в OnTimer с интервалом в 1 секунду, если запускается ф-ция открытия винампа, то в течении минуты ее вызвать уже нельзя. Учитываются только минуты. Вроде все работает, но иногда не срабатывает. Может есть какое-нить решение поумней, чем каждую секунду время проверять?
 Andrew (22-04-2003 10:04:42)
Создай процесс и отправь его спать на заданное количество мС.
 m-j (22-04-2003 10:19:43) www.m-j.front.ru
Я сам написал подобную прогу, только на Delphi (это несущественно). Принцип точно такой же, только у меня все работало (да и сейчас работает :)). В твоем случае нужно глянуть исходник в том месте, где идет вызов ShellExecute, и где идет сравнение времени текущего и заданого. Мне кажется вся проблема кроется именно в последнем фрагменте потому как с ShellExecute у меня проблем никогда не было, хотя глянуть стоит.
Выложи кусок исходника.
 Георгий (22-04-2003 11:45:37)
Сообщение от таймера имеет самый маленький приоритет, т.е. они могут "не приходить".
То, что предложел Andrew — это самый надёжный способ, особенно, если поток с приоритетом реального времени, тогда задержка срабатывания около 5 ms.