- This topic has 10 replies, 4 voices, and was last updated 14 years, 8 months ago by Support.
-
AuthorPosts
-
February 16, 2010 at 2:16 pm #33567HeDiBoParticipant
Animation in TsGauge is based on timer messages.
The timer used is a simple TTimer. Problem with TTimer is that it only works if there are messages being processed.
So, a heavy processor intensive loop, with sporadic gauge updates, would never show the animation. This is an example of where the ThreadedTimer would come in handy.
I tried it, but more work is needed: the ThreadedTimer in itself will not show the animation when no other windows messages arrive. I don't know what the cure for it is.
February 16, 2010 at 5:52 pm #41723emailayaParticipantsame for progressbar in marquee mode
February 17, 2010 at 9:58 am #41728SupportKeymasterThank you, I'll be thinking about this solution.
February 26, 2010 at 2:27 pm #41783LC!ParticipantHi Serge,
it seems that in 6.56 the animation of sGauge does not work at all. Do you know about that?
March 2, 2010 at 6:55 pm #41797LC!ParticipantAnimation of sGauge was not shown with skin “Vienna” in 6.56. Solved in 6.57.
March 3, 2010 at 12:38 pm #41803HeDiBoParticipantBecause animation is only shown when the message queue is handled, you could say that animation is totally absent: when the message queue is handled, you mostly are awaiting user input. That's exactly when the gauge should not be animated, because then it would suggest that the program is still working.
March 10, 2010 at 11:24 am #41851SupportKeymasterI'm thinking about new animations now, but it's not easy and ThreadedTimer have some troubles which must be fixed firstly..
March 15, 2010 at 10:47 am #41883HeDiBoParticipantQUOTE (Support @ Mar 10 2010, 12:24 PM) <{POST_SNAPBACK}>ThreadedTimer have some troubles which must be fixed firstly..Maybe this article could be of use for implementation of a better Threaded Timer: Using Waitable Timers with an Asynchronous Procedure Call
The Jedi library (JEDI Project) has a component TJclWaitableTimer that implements the method SetTimerApc for asynchronous calls using the Windows Waitable timer constructs. As you know, the Jedi library is open source.
March 17, 2010 at 9:41 am #41890SupportKeymasterThank you! I will research it
March 22, 2010 at 11:47 am #38426HeDiBoParticipantThe problem with the threaded timer may stem from this bug in the VCL:
Deadlock in TThread.Synchronize
The following problem may also have something to do with it:
Synchronize and WaitFor methods of TThread can lead to a DeadLock in logically correct applications
March 23, 2010 at 7:05 am #41979SupportKeymasterThank you, Dick!
AuthorPostsViewing 11 posts - 1 through 11 (of 11 total)- You must be logged in to reply to this topic.