Служба на Delphi, от начало до конца

В интернете достаточно много инструкций как написать службу на делфи, вроде все простые, но мне как новичку в создание служб на делфи, таких инструкций было не достаточно. Из-за этого я долго рожал свою первую службу.

 

Начинаем писать службу или сервис на делфи.

1)       Запускаем Delphi

2)       Выполняем команды File\ Close all

3)       Далее File\New\ Other в появившимся окне во вкладке New (она у меня открывается по умолчанию) нужно выбрать  Service application. После нажатие кнопки OK запускается проект службы.

4)       Выбираем форму service1 во вкладке с лево нажимаем на events в событие Execute вставляем следующий код

 

///////////////////

While not terminated do

begin

sleep (100); // или 100 — эта задержка нужна, чтоб проц не грузить

ServiceThread.ProcessRequests (True); //цикл прекращается если true. продолжается если false

End

///////////////////

Он не даст службе закрываться после выполнение цикла работ.

Перед ним можно вставить свой код

 

Так же я использую свой код в службе в разделе oncreate

Туда я кидаю команды, которые нужно выполнить разово при запуске службы и включаю таймер, в котором и идет периодически работа.

 

5)       Фактически служба готова

6)       После компиляции проекта ctrl+f9 или просто f9, если ошибок нету, служба запустится выполнит часть своих работ и закроется, Это нормально, так и должно быть.

7)       Устанавливаем нашу службу одним из следующих методов

А) можно в консоли ввести «адрес пути к нашей будущей службе\ имя файла с расширение» /install

В итоге служба установиться, выдав сообщение, что установка прошла успешно.

Б) можно просто создать ярлык файла в данном случае project.exe и в его свойствах написать в строке объект  после кавычек  /install.

Запускаем ярлык и видим сообщение об удачной установки, а если дописать после install команду silent то сообщение об установки видно не будет. (/install /silent)

8)       Идем по следующему адресу  Пуск\ панель управдения\администрирование\службы находим в списке нашу установленную службу. Стандартное имя у ней Service1, исполняемый файл project.exe

9)       Нажимаем правой кнопочкой мыши по нашей службе, в появившемся меню нажимаем команду ПУСК. Все, после этого наша служба работает. Просмотреть её можно в диспетчере задач. Если служба заглючила то обычно она по тихому закрывается.

Скачать исходник службы

About admin

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

Подтвердите, что Вы не бот — выберите самый большой кружок: