[DUG] basic Service question
Kyley Harris
Kyley at harrissoftware.com
Fri Oct 9 11:48:08 NZDT 2009
With All my services I follow the same thing.. which is
1:/ Create a Wrapper object which holds the Guts of the service, Including
the fact that my service code is always 1 or more Threads that instantiate
to do work, such as TCP Listening threads etc. The Wrapper object is really
just a pointer to all the threads.
2. Create a TService object. and a TForm Object..
3. in the program file I test a command line switch, and test for /APP etc..
and for debugging I run the code as an application from the form with a
Start And Stop Button.. (no service code for debugging)
4.. when installing you just run the app with a command line param /install
or /uninstall you dont need to use the service application.
the TService only ever uses Service Start. and Servicestop
procedure TFITv2Service.ServiceStart(Sender: TService; var Started:
Boolean);
begin
// SvcLog.Service := self;
Started := True;
try
StartServer;
HssLog('SERVER START IS COMPLETE',hltNormal);
except
on E:exception do
begin
HssLogExcept(e);
Started := false;
end;
end;
end;
procedure TFITv2Service.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
StopServer;
// SvcLog.Service := nil;
end;
On Fri, Oct 9, 2009 at 11:24 AM, Robert martin <rob at chreos.co.nz> wrote:
> Will try that :)
>
>
>
>
> Dave O'Brien wrote:
>
> Whenever I have tried to create a service I’ve always started with
> similar problems. I seems to me that you need to use the Start, Stop and
> Execute methods, and assign Started and Stopped. So maybe move your thread
> creation code into the Execute method and loop while waiting for it to
> terminate?
>
>
>
> *From:* delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz<delphi-bounces at delphi.org.nz>]
> *On Behalf Of *Robert martin
> *Sent:* Friday, 9 October 2009 11:00 a.m.
> *To:* NZ Borland Developers Group - Delphi List
> *Subject:* Re: [DUG] basic Service question
>
>
>
> Yeah :)
>
>
> My code isn't using the onExecute I am actually starting and stopping my
> own Tthread on the onStart event. However The actual (current) problem I am
> having is that even with no code whatsoever I cant register my service
> (which I need to do at some point and apparently need for debugging).
>
> Cheers
>
>
>
>
>
> Dave O'Brien wrote:
>
> Something like this?
>
>
>
> var
>
> Stopped: Boolean = false ;
>
>
>
> procedure TsvcSomeService.ServiceExecute(Sender: TService);
>
> var
>
> t: TDateTime ;
>
> begin
>
> try
>
> t := now - 720 ;
>
> While (not terminated) and (not stopped) do
>
> begin
>
> if now > t + (1/1440) then // Run once a minute
>
> begin
>
> // Do something
>
> t := now ;
>
> End ;
>
> Sleep(1000) ; // Sleep to allow other services time...
>
> end ;
>
> except
>
> end ;
>
> end;
>
>
>
> procedure TsvcSomeService.ServiceStart(Sender: TService;
>
> var Started: Boolean);
>
> begin
>
> Started := True ;
>
> Stopped := False ;
>
> end;
>
>
>
> procedure TsvcSomeService.ServiceStop(Sender: TService;
>
> var Stopped: Boolean);
>
> begin
>
> Stopped := True ;
>
> end;
>
>
>
> procedure TsvcSomeService.ServiceCreate(Sender: TObject);
>
> begin
>
> // Create some stuff
>
> end;
>
>
>
> procedure TsvcSomeService.ServiceShutdown(Sender: TService);
>
> begin
>
> Stopped := True ;
>
> end;
>
>
>
> -----Original Message-----
>
> From: delphi-bounces at delphi.org.nz [mailto:delphi-bounces at delphi.org.nz <delphi-bounces at delphi.org.nz>]
>
> On Behalf Of Robert martin
>
> Sent: Friday, 9 October 2009 10:34 a.m.
>
> To: NZ Borland Developers Group - Delphi List
>
> Subject: [DUG] basic Service question
>
>
>
> Hi
>
>
>
> I am trying to create a service 9never done this before) and following
>
> some old instructions I found on the web. The suggest creating a
>
> service then installing it with service.exe /install then adding code
>
> and debuggin. I am failing at the most basic point. I am trying to
>
> install on Vista from cmd line. It just comes up with a 'program is not
>
> responding message.
>
>
>
> Any help would be appreciated :)
>
> Rob
>
>
>
> _______________________________________________
>
> NZ Borland Developers Group - Delphi mailing list
>
> Post: delphi at delphi.org.nz
>
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
>
> unsubscribe
>
>
>
> No virus found in this incoming message.
>
> Checked by AVG - www.avg.com
>
> Version: 8.5.421 / Virus Database: 270.14.7/2422 - Release Date:
>
> 10/08/09 06:39:00
>
>
>
> _______________________________________________
>
> NZ Borland Developers Group - Delphi mailing list
>
> Post: delphi at delphi.org.nz
>
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
>
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject: unsubscribe
>
>
>
>
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.421 / Virus Database: 270.14.7/2422 - Release Date: 10/08/09
> 06:39:00
>
> ------------------------------
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject: unsubscribe
>
>
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi at delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to delphi-request at delphi.org.nz with Subject:
> unsubscribe
>
--
Kyley Harris
Harris Software
+64-21-671-821
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20091009/735531b4/attachment.html
More information about the Delphi
mailing list