Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-12-2008
NasgulMA NasgulMA is offline
Registrado
 
Registrado: sep 2004
Posts: 4
Poder: 0
NasgulMA Va por buen camino
Unhappy Servicio iniciado pero no hace nada

Hola a todos.
Antes que nada dar las gracias por ayudar a entender un poco mas este mundo maravilloso del delphi.

Bueno a lo que voy he creado e instalado un servicio en windows 2003 server que apartir de un fichero que esta en un sitio ftp actualiza una base de datos de SQL Server 2005. Funciona perfecto en el momento de instalarlo o si ejecuto el exe directamente pero al reiniciar el ordenador el servicio se inicia y si miro el administrador de tareas el exe se esta ejecutando pero no actualiza la base de datos es como si estubiera en pausa.

Este es el codigo del servicio a ver si alguien me puede decir que hago mal o darme alguna idea.


Código Delphi [-]
program ServicioRes1;
uses
  SvcMgr,
  SysUtils,
  Unit1 in 'Unit1.pas' {ServiceRes1: TService},
  UVariables in 'UVariables.pas';
{$R *.RES}
begin
  // Windows 2003 Server requires StartServiceCtrlDispatcher to be
  // called before CoRegisterClassObject, which can be called indirectly
  // by Application.Initialize. TServiceApplication.DelayInitialize allows
  // Application.Initialize to be called from TService.Main (after
  // StartServiceCtrlDispatcher has been called).
  //
  // Delayed initialization of the Application object may affect
  // events which then occur prior to initialization, such as
  // TService.OnCreate. It is only recommended if the ServiceApplication
  // registers a class object with OLE and is intended for use with
  // Windows 2003 Server.
  //
  // Application.DelayInitialize := True;
  //
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TServiceRes1, ServiceRes1);
  Application.Run;
  while True do
  begin
    sleep(300000);
    ServiceRes1.ActualizarReservas;
  end;
end.

Bueno un saludo para todos.

Última edición por dec fecha: 30-12-2008 a las 11:42:54.
Responder Con Cita
  #2  
Antiguo 30-12-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Has revisado el visor de eventos del sistema?
¿talvez tenga algun problema? ¿Conexión?

También puedes crear un Log en disco, con las operacionmes que va realizando, a ver en qué momento hay algun problema....

Código Delphi [-]
procedure _Log(Str:string);
const
  FileName = 'c:\logService.txt';
var
  F: TextFile;
begin
  AssignFile(f,FileName);
  if FileExists(FileName) then begin
    Append(f)
  end
  else begin
    Rewrite(f);
  end;

  // Escribir
  writeln(f, DateTimeToStr(Now) + '  ->> ' + Str);
  CloseFile(f);

Basa con que vayas llamado al procedimiento a medida que vayas haciendo cosas:

Código Delphi [-]
  ...
  _Log('Conectando...');
  ...
  _Log('Conectado correctamente');
  ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 30-12-2008 a las 12:10:13.
Responder Con Cita
  #3  
Antiguo 30-12-2008
NasgulMA NasgulMA is offline
Registrado
 
Registrado: sep 2004
Posts: 4
Poder: 0
NasgulMA Va por buen camino
Gracias por responder tan rapido voy a probarlo ya mismo.
Responder Con Cita
  #4  
Antiguo 30-12-2008
NasgulMA NasgulMA is offline
Registrado
 
Registrado: sep 2004
Posts: 4
Poder: 0
NasgulMA Va por buen camino
Hola otra vez he creado el log en disco y es muy curioso porque inicio el servicio pero nunca llega a ejecutar la llamada a

ServiceRes1.ActualizarReservas;

y no crea el log en disco. Pero al detener el servicio y antes de que se cierre el ejecutable me crea el log como si entrara en la llamada.
Responder Con Cita
  #5  
Antiguo 30-12-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
No entiendo mucho de servicios, tal vez se te esté quedando en el RUN.

Porque no pones un timer en tu formulario (ServiceRes1) y ahí desde ese timer (cada 60 sg) vas ejecutando el ActualizarReservas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 30-12-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Hay una falla en el esqueleto de tu servicio, revisa éste articulo.

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #7  
Antiguo 30-12-2008
NasgulMA NasgulMA is offline
Registrado
 
Registrado: sep 2004
Posts: 4
Poder: 0
NasgulMA Va por buen camino
Gracias a todos por la ayuda, ya esta funcionando al final he puesto el timer en el formulario como decia Neftali y quitando de la declaracion del servicio el bucle a funcionar perfectamente.

Gracias otra vez por la ayuda y por la rapidez.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
El codigo no hace nada jorgegetafe Varios 5 02-11-2007 14:13:49
Filter no hace nada ilichhernandez Conexión con bases de datos 8 16-05-2007 09:08:24
El reporte no hace nada ilichhernandez Impresión 1 15-03-2007 22:26:20
Detectar si el servico se ha iniciado BuenaOnda Conexión con bases de datos 1 12-02-2007 01:22:01
Al dar doble click a mi aplicacion de delphi con paradox no hace nada gaescoto Tablas planas 3 23-05-2003 09:44:35


La franja horaria es GMT +2. Ahora son las 02:49:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi