Newsgroup: it.comp.lang.delphi
Titolo: ancora sui servizi

ciao a tutti... ho creato un semplice servizio per testare il funzionamento 
da delphi... però ogni volta che lo avvio subito dopo si chiude 
automaticamente... nell'execute ho messo:
  ScriviLog('Servizio Eseguito');
  timer1.enabled:=true;
    while not Terminated do
    begin
        ServiceThread.ProcessRequests(True);// wait for termination
    end;
  timer1.enabled:=false;
potete darmi qualche dritta? nn so piu' dove sbattere la testa
Simo 

 chiude automaticamente... nell'execute ho messo:
Avvii il servizio da Delphi?
Il debugging dei servizi mi risulta essere un po' diverso rispetto a 
quello delle applicazioni tradizionali...
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 ha scritto nel messaggio 
news:47cc089e$1...@news.x-privat.org...


 correttamente... che può essere?
Spiegati meglio per favore... da cosa deduci che "non parte correttamente"?
Dove metti i log nell'onexecute?
Il codice che hai postato e' tratto da un post del d4 bob, per delphi 5.
non e' detto che funzioni perfettamente ancora oggi e con quale delphi stai
lavorando?
Io i servizi li utilizzo con un modello diverso da quello che hai postato
tu: nell'onstart costruisco e faccio partire dei thread, poi li chiudo
quando arriva la richiesta di chiusura del servizio.
Ti posto un po' di codice (ripulito). 
procedure TReceiverService.ServiceStart(Receiver: TService;  var Started:
Boolean);
begin
  FChildsThreadList := TList.Create;
  rc := Configure;
  if rc >= 0 then
  begin
     CreateThreads;
  end;
end;
procedure TReceiverService.ServiceStopShutdown;
var
  i : integer;
begin
  try
      for i := 0 to FChildsThreadList.Count-1 do
         ThreadStopShutdown(FChildsThreadList[i]);
  finally
      FChildsThreadList.Free;      
  end;
end;
procedure TReceiverService.ThreadStopShutdown(ThreadChild: TThread);
begin
  try
      ThreadChild.Terminate;
      ThreadChild.WaitFor;
  except
    on e:exception do
      begin
      end;
  end;
end;
procedure TReceiverService.ServiceStop(Sender: TService;var Stopped:
Boolean);
begin
  ServiceStopShutdown;
end;
-- 
Morde

 ha scritto nel messaggio 
news:1xh0p5t3d1qso.6...@40tude.net...


nel registro ho trovato questo:
Impossibile trovare la descrizione dell'ID evento ( 0 ) nell'origine ( 
HSCyclopeService.exe ). Il computer locale potrebbe non disporre delle 
necessarie informazioni nel Registro di sistema o dei file DLL necessari per 
visualizzare messaggi da un computer remoto. Utilizzare /AUXSOURCE= flag per 
recuperare la descrizione. Per ulteriori informazioni, consultare la Guida 
in linea e supporto tecnico. Le seguenti informazioni sono parte 
dell'evento: Operazione completata.
Simone 

ho scoperto il problema... è quando eseguo il create di una form (che già
avevo preparato con dentro i vari eventi)... meglio rifarla?
Simone

 ... meglio rifarla?
Sei troppo generico perchè ti si possa dare un consiglio preciso: cosa fai
in quella create? Gli eventi a cosa ti servono? In che modo li crei?
ecc...
Ciao
-- 
Morde

 ha scritto nel messaggio 
news:3q244ajmcl36$.116tbvfrt9w2m.dlg@40tude.net...


 potete darmi qualche dritta? nn so piu' dove sbattere la testa
Leggi qua:
http://snipurl.com/20vd2
ciao!
-- 
maz 

grazie a tutti... ci sono riuscito
Simone

 grazie a tutti... ci sono riuscito
in che modo ? :-)
-- 
Morde

 ha scritto nel messaggio 
news:19qynjj8sj9ur.1x1j2c1osds3t$.dlg@40tude.net...
