Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2009, 00:48   #1
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
Вопрос TService и его события

Возник вопрос - когда срабатывает TService.OnCreate? При запуске системы? И впоследствии при остановке и запуске службы вызываются только OnStop и OnStart?
З.Ы. хоть и не один вопрос в итоге получилсяя, но прошу помочь
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 17.01.2009, 03:04   #2
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

хмм... ладно, придётся тогда самому пробовать и смотреть...
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 17.01.2009, 03:19   #3
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

хммм... если кому пригодится информация - путём экспериментального определения удалось установить,что они происходят друг за другом и в том, и в другом случае
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 17.01.2009, 11:33   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

OnAfterInstall, OnAfterUninstall, OnBeforeInstall, OnBeforeUninstall - эти события возникают после и до регистрации и удаления службы в системе.
OnCreate и OnDestroy - возникают при создании и удалении окна модуля данных, представляющего службу.
OnShutdown - возникает при выгрузке всего exe, а не только отдельной службы в нём. Все исключения в обработчике этого события игнорируются.
Остальные свойства делятся в две группы: OnExecute и все остальные Связано это с типом работы. Вы можете реализовать работу службы двумя способами. Вариант первый: стартует служба, вы начинаете чего-то делать, время от времени уведомляя систему о своём состоянии, потом служба останавливается. Вариант второй: стартует служба, создаёт рабочие потоки. По уведомлению от системы - потоки останавливаются и служба выключается. Обычно в службах используется второй вариант, но это ваш выбор.
OnExecute реализует первый вариант: вы просто вписываете весь код службы в OnExecute, не забывая время от времени вызывать ReportStatus для уведомления системы о своём состоянии (если вы будете выполнять работу длительное время) и ServiceThread.ProcessRequests - для получения от системы сообщений. При приёме сообщений будет генерироваться соответствующее событие: OnStop, OnPause или OnContinue.
Для второго варианта реализации вы не должны назначать обработчик OnExecute, но обязаны реализовать как минимум OnStart и OnStop. В первом обработчике вы запускаете рабочие потоки службы, а в OnStop - останавливаете. Дополнительно вы можете реализовать OnPause и OnContinue, если ваша служба должна уметь приостанавливаться.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События WinSock telcomp Win Api 1 13.01.2009 09:26
Работа с TService в C++ jorjik Общие вопросы C/C++ 3 26.06.2008 20:13
TService+TForm Viteef Общие вопросы Delphi 0 25.02.2008 08:13
TService... Аlex Win Api 5 23.03.2007 20:14
Обработчик события... Flash_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 12.03.2007 21:24