[DUG]Timers

Matthew Comb matt at ferndigital.com
Tue Mar 7 10:20:28 NZDT 2006


Delphi Timers are not threaded.

if you have two timers and put a sleep of 30 seconds in one, the time
event for the other will not fire until the first is completed. They are
run in the main application thread and are sequential.

One way you can counter this is if you have a loop in the first timer
event, you can call application.processmessages which would allow the
message to get through to the second timer.

Threaded timers are a completely different story.

Matt.




> Hi John,
>
> It won't hold up others.
>
> You must be very careful  of in modifying variables shared between the two
> timers. You can use some sorts of locking code to do that.
>
> Regards
> Leigh
> New Zealand's largest stabilizer manufacturer for camera
> http://www.SmoothArm.com
>
> -----Original Message-----
> From: delphi-bounces at ns3.123.co.nz
> [mailto:delphi-bounces at ns3.123.co.nz]On Behalf Of John Bird
> Sent: Tuesday, 7 March 2006 9:59 a.m.
> To: 'NZ Borland Developers Group - Delphi List'
> Subject: [DUG]Timers
>
>
> If I have two timers active in a program, and occasionally one of them
> takes
> a while to execute its code, does it hold up the other timer from firing
> until it is done?
>
> Or phrased another way can I think of two timers as if running in separate
> threads, or in the same thread, so that one finishes before the other can
> get a chance to run.
>
> The reason I am wondering is if there are any issues to be careful of in
> modifying variables shared between the two timers.
>
> John
>
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
>
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>




More information about the Delphi mailing list