Hello.

You could maybe try creating an event handler for Application.OnIdle instead of using timers. This allows you code in your method assigned to the OnIdle event to be processed when the application is not busy.

I'm not sure what code you are executing in you timer event, so this might not help if you only want to execute code at a certain time regardless of how busy your application is.
Try also looking at Application.ProcessMessages;

All the best,
Mike

Rohit Gupta wrote:
Yes, its very noticeble on 95.
Date sent:              Thu, 20 Jul 2006 12:09:01 +1200
From:                   Alister Christie <[EMAIL PROTECTED]>
To:                     [EMAIL PROTECTED],
        NZ Borland Developers Group - Delphi List <[email protected]>
Subject:                Re: [DUG] TTimer
Copies to:              
Send reply to:          NZ Borland Developers Group - Delphi List 
<[email protected]>
        <mailto:[EMAIL PROTECTED]>
        <mailto:[EMAIL PROTECTED]>

[ Double-click this line for list subscription options ] I think OnTimer events can be skipped if the machine is busy - I remember a thread some time ago (a year maybe) about this but can't remember any details. Have you got some other kind of loop in your application that could be working really hard, or maybe a resource leak?

Alister Christie
Computers for People
Ph: 04 471 1849 Fax: 04 471 1266
http://www.salespartner.co.nz
PO Box 13085
Johnsonville
Wellington


John Bird wrote:
I have a couple of applications with a timer loop that is prone to
occasionally freezing after a few hours, not doing  anything radical, for
example displaying a date and time.

procedure TfrmJBCLMenu1.Timer1Timer(Sender: TObject);
begin

  lblToday.caption:=formatDateTime('dd mmm yy - hh:nn:ss',now);

end;


I noticed when the timer has stopped running that the rest of the
application runs ok, but seems also a bit sluggish, that is buttons respond
but slowly.

I put a bit of wake up code run when certain buttons are pressed like

//clock sometimes freezes...
procedure TfrmJBCLMenu1.WakeClock;
begin
  timer1.Enabled:=false;
  sleep(500);
  timer1.Enabled:=true;
end;

But I am thinking this shouldn't be needed!, and I am not sure it always
fixes it anyway.

Any suggestions to stop timers freezing?  Any known problems?

John

_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi


_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi
Regards

Rohit

======================================================================
CFL - Computer Fanatics Ltd.  21 Barry's Point Road, AKL, New Zealand
PH (649) 489-2280 FX (649) 489-2290
email [EMAIL PROTECTED]  or  [EMAIL PROTECTED]
======================================================================


_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi




_______________________________________________
Delphi mailing list
[email protected]
http://ns3.123.co.nz/mailman/listinfo/delphi

Reply via email to