TGifImage播放GIF停止不动,(100分)

  • 主题发起人 主题发起人 5207
  • 开始时间 开始时间
5

5207

Unregistered / Unconfirmed
GUEST, unregistred user!
我在执行某段长时间运算代码时,弹出一个提示框告之等待,在提示框中有个动画,我使用了TGifImage控件,可是我调用提示框后,后台运算代码在运行,动画不播放?????

是否主线程被占用的原因?有什么办法可以让其不受后台运算的影响?

我试过一个方法就是在运算代码中加入Application.ProcessMessages;这个是能播放,但是时间会长几十倍.而且提示框可能会在很多的地方用到,不可能每个调用的地方都加个Application.ProcessMessages;求一个解决方法!
 
風欲靜而心不止!心欲動而風不隨!
 
老大帮我解决呀.....我郁闷ING
 
线程才是王道。
 
线程?把播放代码放到线程中?
 
顶起也没用,你为什么就不肯去试试呢。
 
我一直在试
 
tzlaoliu,
能推荐一个吗?
我现在转成AVI使用,但是播放AVI时使用的了Animate,这个东东上面不能放LABEL
 
比如循环一千次,让Application.ProcessMessages执行一百次就可以了。
可能线程更好,运算代码放在线程中就可以,如果放TGIF到线程中可能不好。
repeat
Application.ProcessMessages
until XX
这种不好,CPU100%
改为
repeat
Application.ProcessMessages;
Sleep(10);
until XX
CPU大大下降。
所以尽量少调用Application.ProcessMessages;
好比有个跑腿的每分钟让他去收发室拿信就比每一个小时取一次信累。
 
问题解决的方法,我还是用了AVI...用TAnimate来播放..
 
后退
顶部