Использование Ttimer в сервисе (демоне)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Использование Ttimer в сервисе (демоне)

Сообщение GAMER » 08.03.2012 14:23:59

О результатат - напишите.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 08.03.2012 17:22:40

Можете еще обратить внимание на viewtopic.php?f=13&t=7852 ?

Добавлено спустя 21 час 37 минут 9 секунд:
Можете посоветовать дистрибутив linux-а без иксов в принципе или из которого можно подчистую его удалить. А заодно ссылку на мануал по установке\настройке демонов в линуксе? Буду эксперементировать и проверять своего демона.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение alexs » 09.03.2012 16:45:24

GAMER писал(а):А если использовать NoGui, то вроде ж не тянеться ничего лишнего?

А в нём таймер реализован?
Если да - то надо обновить статейку и пример.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 09.03.2012 18:26:57

Помогите! Не могу пересобрать лазаря (под win7). Меняю в параметрах сборки лазаря набор виджетов LCL на NoGui. компилируется, собирается и после "Действие "IDE" завершено" ничего не происходит. Лазарь не перезапускается. Если оставлю набор виджетов win32/win64 - то все нормально, перезапускается и работает. Во время компиляции никаких ошибок. Менял в параметрах ТОЛЬКО набор виджетов, больше ничего.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение GAMER » 09.03.2012 18:28:37

2 alexs.
На счет таймера - не знаю, но на разные гриды не ругался.

Добавлено спустя 1 минуту 30 секунд:
2. OberonAR
А как гуишный Лазарус будет работать без ГУИ?
Используйте lazbuild с ключами.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 09.03.2012 18:45:13

Походу я вообщее нуб в этом вопросе... Имелось ввиду использовать lazbuild с ключом --ws=nogui для сборки конкретно МОЕГО проекта а не самого лазаря?
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение GAMER » 09.03.2012 18:54:47

Да.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 09.03.2012 19:18:07

Простите, а как? Никогда не влезал руками в опции компилятора/компоновщика. Всегда F9/Shift+F9 в IDE и все... :oops: :oops: :oops:
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение GAMER » 09.03.2012 23:13:10

В командной строке:
lzazbuild --ws=nogui project1.lpr
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 10.03.2012 11:42:46

Вообщем так: исходники в приложении. Все работает, таймер в том числе, сервис устанавливается, удаляется, запускается и работает. - Это если собирать в IDE. Если же собрать с помощью lazbuild --ws=nogui project1.lpr, то собирается без ошибок, при запуске просто экзешника - запускается как положено с выводом опций запуска. Т.е. экзешник рабочий. Он даже устанавливается в "Службы". Но при попытке запустить службу через остнастку долго висит с прогрессбаром запуска и в итоге выдает ошибку: "Не удалось запустить службу Daemon1 на Локальный компьютер. Ошибка 1053: Служба не ответила на запрос своевременно" :cry:
Есть мысли?

Добавлено спустя 23 часа 17 минут 53 секунды:
Или чем можно заменить Ttimer?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение Brainenjii » 11.03.2012 11:17:25

Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Использование Ttimer в сервисе (демоне)

Сообщение OberonAR » 11.03.2012 11:37:27

Brainenjii писал(а):Нитью


Т.е. отдельно нитью организовать например цикл с sleep или бесконечный цикл с проверкой разницы текущего времени и предидущего срабатывания? А потом как то передавать в основной поток срабатывание? Как то не красиво... или можно по другому?
Аватара пользователя
OberonAR
новенький
 
Сообщения: 73
Зарегистрирован: 08.02.2012 11:46:04
Откуда: Краснодарский край

Re: Использование Ttimer в сервисе (демоне)

Сообщение Brainenjii » 11.03.2012 12:56:48

да, в конструктор нити передать форму (или что там у Вас), в Execute реализовать цикл со sleep и в нём, для похожести на Timer через Synchronize вызывать метод OnTimer для формы (или что там у Вас). Ничего некрасивого - обычный вспомогательный класс
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Использование Ttimer в сервисе (демоне)

Сообщение Bupyc » 11.03.2012 15:43:37

Я в похожей ситуации также сделал отдельную нить с потоком, но внутри цикла не sleep, а объект типа TEvent. В цикле жду, пока у него не наступит wait timeout. Если наступил, нужно обработать событие таймера. Если event был переведен в сигнальное состояние, то либо в очередь таймерных событий добавлено новое событие, либо поток завершается.

P.S. Специально для апологетов кросс-платформенного программирования: TEvent в FPC реализован кросс-платформенно. :)
Bupyc
постоялец
 
Сообщения: 137
Зарегистрирован: 29.08.2007 18:22:42

Re: Использование Ttimer в сервисе (демоне)

Сообщение GAMER » 01.06.2012 17:02:28

GAMER писал(а):На счет таймера - не знаю, но на разные гриды не ругался.

Ха. Поламали.
lzazbuild --ws=nogui project1.lpr
При создании стринггрида ругается типа:

Exception at 004713AD: EInvalidOperation:
Canvas does not allow drawing.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 239

Рейтинг@Mail.ru
cron