Вопрос № 52589: Вот уже неделю пытаюсь написать сервс. Пишу на делфи, а примеры никак не работают. Выдавало ошибку что не находит функцию ServiceInitialization из advapi32.dll, написал новую. А теперь StartServiceCtrlDispatcher не работает (моего сервиса так и нету)...
Вопрос № 52.589
Вот уже неделю пытаюсь написать сервс. Пишу на делфи, а примеры никак не работают. Выдавало ошибку что не находит функцию ServiceInitialization из advapi32.dll, написал новую. А теперь StartServiceCtrlDispatcher не работает (моего сервиса так и нету). Написал несколько функций CreateSrv, DeleteSrv, StopSrv, StatusSrv, которые работают нормально по переданному параметру. Обьясните пожалуйста как нормально написать сервис, что не правильно в етом примере или что не так делаю.
Отвечает: InviZ
Здравствуйте, Negruzzi Cristian!
Сервис должен запускаться как сервис. Либо через net start если он зарегистрирован как сервис в системе. Либо из другой программы, через StartService.
Скорее всего, тебе возвращается этот код ошибки:
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
Typically, this error indicates that the program is being run as a console application rather than as a service. If the program will be run as a console application for debugging purposes, structure it such that service-specific code is not called when this error is returned.
Нужно почаще заглядывать в MSDN.
Ответ отправил: InviZ (статус: 2-ой класс)
Ответ отправлен: 19.08.2006, 18:28 Оценка за ответ: 2