您的位置:首页 > 编程语言 > Delphi

delphi编程中的棘手问题;求指教!

2020-02-15 17:36 288 查看


我的程序是用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;

敬请指教!!!

  • 点赞
  • 收藏
  • 分享
  • 文章举报
wensir33 发布了1 篇原创文章 · 获赞 0 · 访问量 1022 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: