Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Здравствуйте уважаемые кодеры! Проблема с сервисом! F1, плиз!!! [D6, Win2k]


GydruS ©   (2001-11-27 10:45:00) 

Может кто подскажет, как можно запускать сервис в НТ без диспетчера служб. Хотя бы для отладки нужно! А то всё работало вроде бы как и ни с того ни с сего загнулось. Пишет, что, мол, в сервисе внутренняя ошибка! И что сервис не вернул код возврата! А как её определить, ошибку эту? Спасибо!


FoxSW   (2002-02-14 14:37:00) [1]

Попробуй так:

procedure TService1.ServiceExecute(Sender: TService);
begin

While Not Terminated Do
ServiceThread.ProcessRequests(True);

end;


Shashlov Anthon Michailovich   (2001-12-08 19:22:00) [2]

Re: Может кто подскажет, как можно запускать сервис в НТ без диспетчера служб. Хотя бы для отладки нужно!

Работа системных служб без использования Service Control Manager
невозможна, однако существуют другие методы подключения отладчика:

Наиболее распространенные способы отладки служб:

1)Для отладки службы ее необходимо запустить через диспетчер служб, после этого в Delphi IDE используйте Run/Attach to process. В появившемся окне выберите нужный процесс (по имене *.exe), предварительно указав Show System Processes.

2)Если Вам необходимо подключать отладчик при запуске службы и контролировать процесс запуска, добавьте в раздел реестра
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" ключ, содержащий в имене имя файла приложения (без пути) с параметром "Debugger" (типа REG_SZ), содержащим полный путь к файлу
отладчика (...\Bin\Delphi32.exe).

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

Ключ "Image File Execution Options" может отсутствовать. Если это так, создайте его.


---------------------------------------

Re: А то всё работало вроде бы как и ни с того ни с сего загнулось. Пишет, что, мол, в сервисе внутренняя ошибка! И что сервис не вернул код возврата! А как её определить, ошибку эту?

Будьте осторожны при обработке события OnStart.

1)Необходимо установить Started := true (по умолчанию - false);
2)При выполнении длительных операций при запуске службы нужно увеличить период ожидания (TService.WaitHint), регулярно вызывать ReportStatus или
перенести часть операций в обработчик TService.OnExecute.


marconi   (2001-11-28 13:36:00) [3]

>Может кто подскажет, как можно запускать сервис в НТ без диспетчера служб.

с:\net stop "Служба буфферизации печати"
c:\net start "Служба буфферизации печати"
c:\net start "Telnet"
и т.д.

работает, обязательно регистр букв!!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо