Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите "переинициализировать" сервис


Vlad Oshin ©   (2007-06-27 01:50:00) 

Написал сервис.
Просто по шаблону из file-new-other-service app.

Поставил на onStart считывание переменных из файла.
В теле идет работа.
Затем, файл редактирую блокнотом.
С панели администрирования рестартую сервис, но переменные остаются с прежними значениями

Почему?
на onCreate тоже ставил. И тоже, рестарт сервиса не меняет его переменных.

Меняет только удаление, перезагрузка и новая инсталляция.


Vlad Oshin   (2007-06-29 16:35:00) [1]


> Тот ты правил или не тот, но в файле нет никаких "переменных".
>
> Переменные есть в тексте программы.

понятно: нет ложки..
есть 01
а текст программмы тоже хранится в файле.

clickmaker ©   (27.06.07 09:42) [3]
спасибо!
первые же записи в логе все показали


koha   (2007-06-27 21:24:00) [2]


> Vlad Oshin ©   (27.06.07 09:53) [5]
> спасибокак всегда, слона и не увиделне тот файл правил


- или не тот файл правил. onStart выполняется один раз при старте а не все время и читать будет твой файл тоже будет один раз при старте.
можно таймер положить и выполнять его или как выше товарищь писал:
> iXT ©   (27.06.07 09:48) [4]


Сергей М.   (2007-06-27 11:26:00) [3]


> не тот файл правил


Тот ты правил или не тот, но в файле нет никаких "переменных".
Переменные есть в тексте программы.


Vlad Oshin   (2007-06-27 09:53:00) [4]

спасибо
как всегда, слона и не увидел
не тот файл правил


iXT   (2007-06-27 09:48:00) [5]

1. ИМХО не надо ничего делать в основном потоке службы. Пусть он отвечает за управление службой. В Execute создавай поток в котором делай все чего тебе надо. Повторюсь ИМХО :).

2. Поставь в OnContinue


clickmaker   (2007-06-27 09:42:00) [6]


> Вот я и спрашиваю, при рестарте onStart не выполняется?

выполняется.
если есть сомнения в действиях сервиса, протоколируй критический код в файловый лог. Сбрасывай туда значения прочитанных переменных, например. Потом анализируй это


Vlad Oshin   (2007-06-27 09:38:00) [7]

есть текстовый файл, формата: имя=значение, имя=значение,..

> Поставил на onStart считывание переменных из файла.

сервис стартует и читает этот файл. во всяком случае, я так задумал..
есть там, в частности, переменная отвечающая за временной интервал вывода сообщений. Ставлю ей значение, допустим, 10 сек
Вот, включил комп, запустился сервис. Каждые 10 сек имею сообщение, что все в порядке, работа идет как надо.
Захожу в текстовый файл, меняю значение на минуту. Рестартую сервис.
Сообщения продолжают идти раз в 10 сек.


> Код сервиса сам отвечает за состояние своих переменных

Вот я и спрашиваю, при рестарте onStart не выполняется?
а что выполняется?


Сергей М.   (2007-06-27 08:11:00) [8]


> переменные остаются с прежними значениями


С какими такими "прежними" ?


> рестарт сервиса не меняет его переменных


Код сервиса самотвечает за состояние своих переменных, никто за него этим заниматься не будет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо