[Lazarus] Having trouble getting fptimer to work in a Daemon.

Michael Van Canneyt michael at freepascal.org
Mon Feb 15 11:16:20 CET 2010



On Mon, 15 Feb 2010, Joshua Lim wrote:

>
> Hi,
>
> I'm a pascal newbie, after spending some time getting a daemon to work, I now have trouble getting a timer to work.  I was recommended to use TFPTimer from the fpTimer unit - http://mantis.freepascal.org/view.php?id=14118&nbn=5

The standard driver for fpTimer is not suitable for use in a daemon
application, as the timer events are only triggered in the main thread,
and each daemon runs in its own thread.

Michael.
>
> I tried the following code but the OnTimer doesn't trigger.  There are no errors either.  Grateful for any pointers.  :)
>
> uses
> fpTimer;
> ...
> TDaemon1 = class(TDaemon)
> ....
> private
> .....
> public
>    procedure FTimerTimer( Sender : TObject );
> .....
> var
>  Daemon1: TDaemon1;
>  FTimer : TFPTimer;
> .....
> procedure TDaemon1.FTimerTimer( Sender : TObject );
> var
> ...
> BEGIN
> ....
> END;
>
> procedure TDaemon1.DataModuleStart(Sender: TCustomDaemon; var OK: boolean);
> var
> ...
> begin
> FTimer := TFPTimer.Create(nil);
> FTimer.OnTimer := @FTimerTimer;
> FTimer.Interval := 1000; // in milliseconds
> FTimer.Enabled := True;
> FTimer.StartTimer;
>
>
> Note: I've also posted here - http://lazarus.freepascal.org/index.php/topic,8615.0.html
>
>
>
> _________________________________________________________________
> Hotmail: Free, trusted and rich email service.
> https://signup.live.com/signup.aspx?id=60969




More information about the Lazarus mailing list