|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2009, 00:48 | #1 |
Форумчанин
Регистрация: 02.01.2009
Сообщений: 340
|
TService и его события
Возник вопрос - когда срабатывает TService.OnCreate? При запуске системы? И впоследствии при остановке и запуске службы вызываются только OnStop и OnStart?
З.Ы. хоть и не один вопрос в итоге получилсяя, но прошу помочь DelphiWorld 6. Скачай, поставь, и будет тебе счастье=) Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
|
17.01.2009, 03:04 | #2 |
Форумчанин
Регистрация: 02.01.2009
Сообщений: 340
|
хмм... ладно, придётся тогда самому пробовать и смотреть...
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=) Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
|
17.01.2009, 03:19 | #3 |
Форумчанин
Регистрация: 02.01.2009
Сообщений: 340
|
хммм... если кому пригодится информация - путём экспериментального определения удалось установить,что они происходят друг за другом и в том, и в другом случае
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=) Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
|
17.01.2009, 11:33 | #4 |
Участник клуба
Регистрация: 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, если ваша служба должна уметь приостанавливаться.
Всегда рад помочь!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
События 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 |