Приложение сервис, не приходит событие

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

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

Ответить
Angel_19
новенький
Сообщения: 37
Зарегистрирован: 24.06.2014 17:29:47

Приложение сервис, не приходит событие

Сообщение Angel_19 »

Доброго!

Создал проект службы (сервис).
Пробую отловить событие - SERVICE_CONTROL_SESSIONCHANGE , но не приходит.
Интерактивной службу делал - не помогает.

В чем может быть проблема?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

А как пытаетесь?
Как я понимаю- если на событие нет обработчика у мапера и у демона - то просто так не получится...
Angel_19
новенький
Сообщения: 37
Зарегистрирован: 24.06.2014 17:29:47

Сообщение Angel_19 »

Отлавливаю через событие OnControlCode.
procedure TDaemonS.DataModuleControlCode(Sender: TCustomDaemon; ACode: DWord;
var Handled: Boolean);
begin
WriteLog('Service - ControlCode');
if ACode = SERVICE_CONTROL_SESSIONCHANGE then
WriteLog('Service - ControlCode - SESSIONCHANGE');

end;

Добавлено спустя 2 минуты 23 секунды:
Но судя по всему событие OnControlCode никогда не срабатывает.

Добавлено спустя 3 часа 26 минут 53 секунды:
Внес изменения в файл daemonapp.inc - пересобираю с очисткой - в моем приложении изменений которые внес - нет!
Как все таки скомпилировать с изменениями?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Angel_19 писал(а):Как все таки скомпилировать с изменениями?

Надо пересобрать библиотеки fpc
Фактически - если исходники полные - то надо в папке ../packages/fcl-extra выполнить make после внесения изменений и вручную заменить получившиеся модули.
Ещё можно просто скопировать исходные тексты библиотек в твою папку с проектом и там их уже править. Компилятор должен подхватить твои исходники.
Ответить