Использование Ttimer в сервисе (демоне)
Модератор: Модераторы
Можете еще обратить внимание на viewtopic.php?f=13&t=7852 ?
Добавлено спустя 21 час 37 минут 9 секунд:
Можете посоветовать дистрибутив linux-а без иксов в принципе или из которого можно подчистую его удалить. А заодно ссылку на мануал по установке\настройке демонов в линуксе? Буду эксперементировать и проверять своего демона.
Добавлено спустя 21 час 37 минут 9 секунд:
Можете посоветовать дистрибутив linux-а без иксов в принципе или из которого можно подчистую его удалить. А заодно ссылку на мануал по установке\настройке демонов в линуксе? Буду эксперементировать и проверять своего демона.
Помогите! Не могу пересобрать лазаря (под win7). Меняю в параметрах сборки лазаря набор виджетов LCL на NoGui. компилируется, собирается и после "Действие "IDE" завершено" ничего не происходит. Лазарь не перезапускается. Если оставлю набор виджетов win32/win64 - то все нормально, перезапускается и работает. Во время компиляции никаких ошибок. Менял в параметрах ТОЛЬКО набор виджетов, больше ничего.
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
2 alexs.
На счет таймера - не знаю, но на разные гриды не ругался.
Добавлено спустя 1 минуту 30 секунд:
2. OberonAR
А как гуишный Лазарус будет работать без ГУИ?
Используйте lazbuild с ключами.
На счет таймера - не знаю, но на разные гриды не ругался.
Добавлено спустя 1 минуту 30 секунд:
2. OberonAR
А как гуишный Лазарус будет работать без ГУИ?
Используйте lazbuild с ключами.
Походу я вообщее нуб в этом вопросе... Имелось ввиду использовать lazbuild с ключом --ws=nogui для сборки конкретно МОЕГО проекта а не самого лазаря?
Простите, а как? Никогда не влезал руками в опции компилятора/компоновщика. Всегда F9/Shift+F9 в IDE и все...

Вообщем так: исходники в приложении. Все работает, таймер в том числе, сервис устанавливается, удаляется, запускается и работает. - Это если собирать в IDE. Если же собрать с помощью lazbuild --ws=nogui project1.lpr, то собирается без ошибок, при запуске просто экзешника - запускается как положено с выводом опций запуска. Т.е. экзешник рабочий. Он даже устанавливается в "Службы". Но при попытке запустить службу через остнастку долго висит с прогрессбаром запуска и в итоге выдает ошибку: "Не удалось запустить службу Daemon1 на Локальный компьютер. Ошибка 1053: Служба не ответила на запрос своевременно"
Есть мысли?
Добавлено спустя 23 часа 17 минут 53 секунды:
Или чем можно заменить Ttimer?
Есть мысли?
Добавлено спустя 23 часа 17 минут 53 секунды:
Или чем можно заменить Ttimer?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Brainenjii писал(а):Нитью
Т.е. отдельно нитью организовать например цикл с sleep или бесконечный цикл с проверкой разницы текущего времени и предидущего срабатывания? А потом как то передавать в основной поток срабатывание? Как то не красиво... или можно по другому?
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
да, в конструктор нити передать форму (или что там у Вас), в Execute реализовать цикл со sleep и в нём, для похожести на Timer через Synchronize вызывать метод OnTimer для формы (или что там у Вас). Ничего некрасивого - обычный вспомогательный класс
Я в похожей ситуации также сделал отдельную нить с потоком, но внутри цикла не sleep, а объект типа TEvent. В цикле жду, пока у него не наступит wait timeout. Если наступил, нужно обработать событие таймера. Если event был переведен в сигнальное состояние, то либо в очередь таймерных событий добавлено новое событие, либо поток завершается.
P.S. Специально для апологетов кросс-платформенного программирования: TEvent в FPC реализован кросс-платформенно.
P.S. Специально для апологетов кросс-платформенного программирования: TEvent в FPC реализован кросс-платформенно.
- GAMER
- энтузиаст
- Сообщения: 627
- Зарегистрирован: 06.08.2008 13:41:07
- Откуда: Ужгород-Днепр, Украина
- Контактная информация:
GAMER писал(а):На счет таймера - не знаю, но на разные гриды не ругался.
Ха. Поламали.
lzazbuild --ws=nogui project1.lpr
При создании стринггрида ругается типа:
Exception at 004713AD: EInvalidOperation:
Canvas does not allow drawing.
