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

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

Сервис после запуска сразу останавливается [D7, WinXP]


Russ ©   (2006-03-15 12:52:00) 

Подскажите пожалуйста, есть Service Application, основной код взят из работающего приложения но после запуска он сразу завершается.  как сделать чтобы этого не происходило?


Eraser   (2006-03-15 14:26:00) [1]

да и ещё! на сколько помню надо опеределить обработчики

constructor TMainService.CreateNew(AOwner: TComponent; Dummy: Integer);
begin
 inherited CreateNew(AOwner, Dummy);
 AllowPause := False;
 Interactive := True;
 DisplayName := SApplicationName;
 Name := SServiceName;
 OnStart := Start;
 OnStop := Stop;
end;

procedure TMainService.Start(Sender: TService; var Started: Boolean);
begin
 Started := True;
end;

procedure TMainService.Stop(Sender: TService; var Stopped: Boolean);
begin
 //PostMessage(fmMain.Handle, WM_QUIT, 0, 0);
 Stopped := True;
end;

и ещё! в этом случае OnExecute должен быть не определён!
хороший пример сервиса ищи в
C:\Program Files\Borland\Delphi7\Source\Vcl\ScktSrvr.dpr


Eraser   (2006-03-15 14:13:00) [2]


> Russ   (15.03.06 12:52)

и ещё hint:
если Сергей М. ©   (15.03.06 14:07) [2] прав, то создавать, по крайней мере, главное окно надо так
SvcMgr.Application.CreateForm(TfmMain, fmMain);, а не
Forms.Application.CreateForm(TfmMain, fmMain);


Eraser   (2006-03-15 14:11:00) [3]


> Russ   (15.03.06 12:52)

в OnExecute объекта наследника TService должен выполняться код сервиса... чаще всего в цикле.

Что требуется от сервиса?


Сергей М.   (2006-03-15 14:07:00) [4]


> основной код взят из работающего приложения


Поди из GUI-приложения ?
И влуплен тот код был тобой безо всяких сомнений и переделок в обработчик одного из событий OnStart/OnStop/OnExecute ? Я угадал ?


Сергей М.   (2006-03-15 13:03:00) [5]


> после запуска


Как запускаешь-то ?


Наверх

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