Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];

Вниз

Почему мне не удается зарегить сервис в системе   Найти похожие ветки 

 
KyRo   (2006-04-27 14:15) [0]

Добрый день.
Решил начать все с нуля и начал писать новый сервис
взял из репозитория ServiceApplication прописал события
но что то он не хочет регится в системе из за чего это может быть
или чего не хватает  ?


unit Main_Sever_Services;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;

type
 TServer_Service_LogB = class(TService)
   procedure ServiceStart(Sender: TService; var Started: Boolean);
   procedure ServiceStop(Sender: TService; var Stopped: Boolean);
   procedure ServiceExecute(Sender: TService);
 private
   { Private declarations }
  public
   function GetServiceController: TServiceController; override;
      { Public declarations }
 end;

var
 Server_Service_LogB: TServer_Service_LogB;
 I:Integer;
implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
 Server_Service_LogB.Controller(CtrlCode);
end;

function TServer_Service_LogB.GetServiceController: TServiceController;
begin
 Result := ServiceController;
end;

procedure TServer_Service_LogB.ServiceStart(Sender: TService; var Started: Boolean);
begin
 Started:=True;
end;

procedure TServer_Service_LogB.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
 Stopped:=False;
end;

procedure TServer_Service_LogB.ServiceExecute(Sender: TService);
begin
 ShowMessage("1");
end;

end.



 
Сергей М. ©   (2006-04-27 14:40) [1]


> что то он не хочет регится в систем


"Регить" следует запуском сервис-приложения ком.строкой с ключем /INSTALL


> procedure TServer_Service_LogB.ServiceStop(Sender: TService;
>  var Stopped: Boolean);
> begin
>  Stopped:=False;
> end;
>


Почему Stopped:=False ?
Так сервис никогда не сможет быть остановлен.


> procedure TServer_Service_LogB.ServiceExecute(Sender: TService);
>
> begin
>  ShowMessage("1");
> end;


Это недопустимо.

Для вывода отл.сообщений пользуй MessageBox().


 
KyRo   (2006-04-27 15:07) [2]

Поменял но все равно сервис не регистрируется !
Виндовс не выдает не какую ошибку он просто пропускает
D:\Project\logbn_server_servis\Server_Servis.exe /instal
и так пробовал
D:\Project\logbn_server_servis\Server_Servis.exe -service

Он просто не хочет регистрироватся


 
KyRo   (2006-04-27 15:16) [3]

Вроде установился .
Но теперь сразу после запуска останавливается и виндовс пишет что сервисы сами останавливаются когда не чего не делают
а я ж вроде как вывожу сообщение


 
Рамиль ©   (2006-04-27 15:33) [4]


> KyRo   (27.04.06 15:16) [3]

Ты назначил обработчик для OnExecute. А в справке черным по белому написано:

If you are not spawning a new thread to handle individual service requests in an OnStart event handler, this is where you implement the service. When the OnExecute event handler finishes, the service thread terminates. Most OnExecute event handlers contain a loop that calls the service thread’s ProcessRequests method so that other service requests are not locked out.

А если бы ты внимательнее посмотрел пример использования, то увидел бы в обработчике OnExecute такие строчки:

   while not Terminated do begin
     ServiceThread.ProcessRequests(True);
   end;


 
Сергей М. ©   (2006-04-27 16:06) [5]


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


Рассказывай подробно, как ты осуществляешь этот самый "запуск сервиса"


 
KyRo   (2006-04-27 16:35) [6]

Не вроде запустился и работает после того как прописал то что советовал рамиль .

А вопрос еще где мне осуществлять выполнения своего кода в онэкзекут запускать нить и ее зацыкливать или где ?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-1144339131
Isaev
2006-04-06 19:58
2006.05.14
Проблема перетаскивания в компоненте TTreeView


2-1146063873
Archy
2006-04-26 19:04
2006.05.14
округление


2-1145976016
vegarulez
2006-04-25 18:40
2006.05.14
Привет мастерам! Как вызвать процедуру в DataModule из Unit`a.


1-1144302826
racer
2006-04-06 09:53
2006.05.14
Как сделать всплывающую подсказку. Подскажите. Горю.


2-1145794547
Melifaro
2006-04-23 16:15
2006.05.14
Заполнение динамического(открытого) массива (help plz)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский