А теперь по теме. Пишу сервис (демон), в котором возникла необходимость работать с таймером. Стандартный Ttimer к сожалению не работает в сервисе (демоне), поскольку использует оконные сообщения коих у сервиса нет... Чем можно заменить таймер? Может есть готовый компонент или хотя бы наброски? Кто сталкивался с такой задачей, какие есть пути решения?
Использование Ttimer в сервисе (демоне)
Модератор: Модераторы
Использование Ttimer в сервисе (демоне)
Привет всем! А женскую часть форума поздравляю с наступающим! Хорошего настроения вам и кода без багов! 
А теперь по теме. Пишу сервис (демон), в котором возникла необходимость работать с таймером. Стандартный Ttimer к сожалению не работает в сервисе (демоне), поскольку использует оконные сообщения коих у сервиса нет... Чем можно заменить таймер? Может есть готовый компонент или хотя бы наброски? Кто сталкивался с такой задачей, какие есть пути решения?
А теперь по теме. Пишу сервис (демон), в котором возникла необходимость работать с таймером. Стандартный Ttimer к сожалению не работает в сервисе (демоне), поскольку использует оконные сообщения коих у сервиса нет... Чем можно заменить таймер? Может есть готовый компонент или хотя бы наброски? Кто сталкивался с такой задачей, какие есть пути решения?
3.6. Замечания из личного опыта
Использование таймера таит странную на первый взгляд ошибку. Если просто пытаться использовать таймер — то ничего не выйдет. Это обусловлено реализацией кода компонента таймера в Lazarus. Код таймера находится в библиотеках, которые относятся к визуальным виджетам — просто в разных операционных системах механизм таймеров реализован по разному. Из-за этого без подключения модуля Interfaces тут не обойтись. Первый раз я долго голову ломал — что не так?
Взято из статьи http://freepascal.ru/article/lazarus/20090403120204/
Использование таймера таит странную на первый взгляд ошибку. Если просто пытаться использовать таймер — то ничего не выйдет. Это обусловлено реализацией кода компонента таймера в Lazarus. Код таймера находится в библиотеках, которые относятся к визуальным виджетам — просто в разных операционных системах механизм таймеров реализован по разному. Из-за этого без подключения модуля Interfaces тут не обойтись. Первый раз я долго голову ломал — что не так?
Взято из статьи http://freepascal.ru/article/lazarus/20090403120204/
Я читал эту статью, насколько я помню дело в использовании модуля interfaces? А можно без него? Без окон, так без окон! - хотелось бы
В FCL есть модуль fpTimer, но
Note that the system implementation will only work for timers
in the main thread, as it uses synchronize to do the job.
You need to enable threads in your application for the system
implementation to work.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
чтобы можно было подключиться на сервер без иксов и запустить приложение
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
тоже неплохо ^_^ Тащить в зависимостях консольному приложению либы от гнома/кед
Brainenjii писал(а):тоже неплохо ^_^ Тащить в зависимостях консольному приложению либы от гнома/кед
Во-во, хотелось бы избежать этого.
GAMER писал(а):NoGui
ет чего это?
И при этом я смогу также использовать interfaces? т.е. таймер получится использовать подключив interfaces, при этом ничего лишнего не потянется в программе? 
Буду пробовать - спасибо!
