• Lunes 29 de Abril de 2024, 14:27

Autor Tema:  Programación De Servicios  (Leído 1774 veces)

Isnel

  • Miembro activo
  • **
  • Mensajes: 29
    • Ver Perfil
Programación De Servicios
« en: Miércoles 22 de Marzo de 2006, 21:37 »
0
Estoy programando un servicio de windows, pero no puedo deternerlo una vez iniciado, se produce este error

Error 1053: El servicio no ha respondido a la petición o inicio del control en un tiempo adecuado.

No se que puede estar dando este problema. Voy a agradecer cualquier ayuda o sugerencia que me den, pues nunca he programado un servicio y ya este me tiene varios dias con dolor de cabeza.

Código: Text
  1. procedure TRDCOMService.ServiceStart(Sender: TService;
  2.   var Started: Boolean);
  3. begin
  4.   ComPort1.Open;
  5.   Interactive := True;
  6.   ServiceType := stWin32;
  7.   StartType := stAuto;
  8.   Started := true;
  9. end;
  10.  
  11. procedure TRDCOMService.ServiceExecute(Sender: TService);
  12. begin
  13.  While Not Terminated do
  14.    if (ComPort1.InputCount > 80) then FlushBuffer;
  15. end;
  16.  
  17. procedure TRDCOMService.ServiceStop(Sender: TService;
  18.   var Stopped: Boolean);
  19. begin
  20.   FlushBuffer;
  21.   ComPort1.Close;
  22.   Stopped := True;
  23. end;
  24.  
  25. procedure TRDCOMService.FlushBuffer;
  26. var
  27.   Buffer: PChar;
  28.   BytesCopy: DWord;
  29.  
  30. begin
  31.   Buffer := AllocMem(ComPort1.InputCount);
  32.   Stream := TFileStream.Create('lectura.txt', fmOpenReadWrite);
  33.   Stream.Seek(0, soFromEnd);
  34.   try
  35.     BytesCopy := ComPort1.Read(Buffer^, ComPort1.InputCount);
  36.     Stream.Write(Buffer^, BytesCopy);
  37.   finally
  38.     FreeMem(Buffer);
  39.     Stream.Free;
  40.   end;
  41. end;
  42.