Graeme Geldenhuys wrote 14 lines
> > I guess I'm a bit late in asking, seeing that I already implemented by
> > own thread based timer. I works 100% for what I need. I just wondered
> > if there was something like that built into FPC that I missed. I
> > would like to compare the implementations, or share mine if FPC
> > doesn't have one.
>
> You're welcome to share yours.
>
> Michael.
Hopefully somebody could find this useful or possibly it could find
its way into FPC and be the beginnings of a basic timer in FPC. Why
must everybody always reinvent the wheel. :-)
Thanks. I had a quick look.
Do you mind if I split up the implementation like this:
TTimer - Exposes all needed properties, events. Delegates work to TTimerDriver. TTimerDriver - Abstract class which has 2 methods and a property to do the actual work. TThreadedTimerDriver - TTimerDriver Descendent which uses your implementation to do the actual work.
and then I add this to the FCL as unit fpTimer ?
This would allow the LCL to implement a TTimerDriver descendent which integrates nicely in the LCL. The actually used driver is set through some global class variable. And at the same time there is already a default driver available for all platforms.
Michael.
Show quoted text 22 lines
See attached file: threadtimer.pas
Usage:
-----------
FTimer := TFPTimer.Create(nil);
FTimer.OnTimer := @FTimerTimer;
FTimer.Interval := 500; // in milliseconds
FTimer.Enabled := False;
You can then call functions like:
FTimer.On;
FTimer.Off;
FTimer.Enabled := False;
--
Graeme Geldenhuys
General error, hit any user to continue.