Delphi6: сервисы под XP

AtheR 30.06.2004 - 15:42 | Доброе время суток! Кто-нибудь делал сервисы под XP? То есть регистрация сервиса как в 98 виндах не помогает и вываливает ошибку kernel32 (в душе я с ними полностью согласен :). Не работают под XP и уже откомпилированные сервисы... В Делфях есть тип TService, но как им пользоваться... к сожалению, накопать в нете ничего не смог, а события при старте, инсталляции, исполнении в хэлпе паршивенько описаны (естественно, примеров никаких). Подскажите, плс, ссылку или, если кто работал, сам принцип создания и использования.
ух-ты 1 - 30.06.2004 - 17:43 | >>То есть регистрация сервиса как в 98 виндах не помогает в 98- в жизни не было сервисов , сервисы это только в NT,2000,XP
Delphist 2 - 01.07.2004 - 14:25 | > в 98- в жизни не было сервисов Были-были. И сейчас есть. Только 9х сервис - это громко сказано. . 2 0 http://borland.xportal.ru/modules.php?name=News&file=article&sid=66 http://epg2000.narod.ru/write_nt_services.shtml.htm (тут Builder, но перевести на Delphi вряд ли проблема :)
Delphist 3 - 01.07.2004 - 14:26 | Вот простейший примерчик сервиса, который при обнаружении каких-либо файло на диске d: выдает сообщение: //Создаем TserviceApplication File->New->ServiceApplication interface .......... type TService1 = class(TService) private { Private declarations } public function GetServiceController: TServiceController; override; { Public declarations } end; //Создаем поток, который будет выполнять всю работу Type TThread1 = class(TThread); public procedure ехесute; override; end; inplimintation var Thread1 : TThread1; Procedure TThread1.Execute; var F : Tsearchrec; begin While not Terminated do if findfirst('d:\*.*', faAnyFile, F) = 0 then showmessage('File name is: ' + f.name); end; procedure TService1.ServiceStart(Sender: TService; var Started: Boolean); begin Thread1 := TThread1.create(false); Started := true; end; procedure TService1.ServiceStop(Sender: TService; var Stopped: Boolean); begin Thread1.Terminate; Stopped := true; end; procedure TService1.ServicePause(Sender: TService; var Paused: Boolean); begin Thread1.Suspend; Paused := true; end; procedure TService1.ServiceContinue(Sender: TService; var Continued: Boolean); begin Thread1.Resume; Continued := true; end;

>>