Форум — Ответы ( К темам )
? | 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. |