中国开发网: 论坛: 程序员情感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;


敬请指教!!!
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


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