中国开发网: 论坛: 程序员情感CBD: 贴子 131507
haitao
转贴-技术贴:delphi编程中的棘手问题;求指教!
delphi编程中的棘手问题;求指教!

我的程序是用delphi编程向步进电机发脉冲,每个发脉冲的过程都是一个耗时的循环,每个循环都是由按钮点击事件来触发,在循环中我用了application.ProcessMessages ;因为如果不用这个语句,当一个循环运行时,则不会任何别的操作,可问题是现在只能有一个循环运行,多个发脉冲的循环不能同时运行,
我先点击一个按钮来触发第一个循环的。也就是一个循环正在运行时,点击触发第二个循环的按钮,
则上一个正在运行的循环就会中止,直到第二个循环运行完后,第一个再继续运行,好像被中断了。

那么如何实现多个发脉冲的循环同时运行呢?在发脉冲时我还多次用到了延时程序:

procedure delay(us:integer); //延时程序US
var start,timeend:int64;
begin
QueryPerformanceCounter(start);

repeat
application.ProcessMessages ;
QueryPerformanceCounter(timeend) ;
until ((timeend-start)>=us);

end;


敬请指教!!!

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录