Текущий архив: 2006.04.02;
Скачать: CL | DM;
ВнизСервис после запуска сразу останавливается Найти похожие ветки
← →
Russ (2006-03-15 12:52) [0]Подскажите пожалуйста, есть Service Application, основной код взят из работающего приложения но после запуска он сразу завершается. как сделать чтобы этого не происходило?
← →
Сергей М. © (2006-03-15 13:03) [1]
> после запуска
Как запускаешь-то ?
← →
Сергей М. © (2006-03-15 14:07) [2]
> основной код взят из работающего приложения
Поди из GUI-приложения ?
И влуплен тот код был тобой безо всяких сомнений и переделок в обработчик одного из событий OnStart/OnStop/OnExecute ? Я угадал ?
← →
Eraser © (2006-03-15 14:11) [3]
> Russ (15.03.06 12:52)
в OnExecute объекта наследника TService должен выполняться код сервиса... чаще всего в цикле.
Что требуется от сервиса?
← →
Eraser © (2006-03-15 14:13) [4]
> 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:26) [5]да и ещё! на сколько помню надо опеределить обработчики
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
Страницы: 1 вся ветка
Текущий архив: 2006.04.02;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.066 c