Hi Folks.

Following a Michael advice I changed a TTimer by an TFPTime component in a Linux daemon application but the latter doesn't work.
There is the code snippet of the TFPTime OnTimer event:

procedure TDaemon1.ThreadControlTimerTimer(Sender: TObject);
var
  Res: Boolean;
begin
  // se réveille toutes les 10 secondes pour vérifier l'état du thread
  FLog.Add(9, '1++++', esError);
  try
    FLog.Add(9, '2++++', esError);
  except
    on E: Exception do begin
FLog.Error(Format('>>+++ error on log control thread:%s', [E.Message]));
      Res := False;
    end;
  end;
  FLog.Add(9, '3++++', esError);
  try

FLog.Add(9, '4++++', esError); <<------------- this line appears into the log file

    ThreadControlTimer.Enabled := False;

    FLog.Add(9, '5++++', esError);     <<======= this line is never reached

    Res := DoThreadControl;
    FLog.Add(9, '6++++', esError);
  except
    on E: Exception do begin
      FLog.Error(Format('>>+++ error on control thread:%s', [E.Message]));
      Res := False;
    end;
  end;
  if Res then begin
    FLog.Add(9, '7++++ True', esError);
    ThreadControlTimer.Enabled := True;
  end else begin
    FLog.Add(9, '8++++ False', esError);
  end;
end;

It looks like the Enabled property doesn't work and blocks the TFPTimer in some way. The event is fired on time, but only once and never more.
I'dl be glad to know what happens.

Antonio.



---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce 
que la protection avast! Antivirus est active.
http://www.avast.com



--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to