求助:Delphi想实现在规定时间内做某些处理,但无论是否成功到时间都停止去做其他的程序处理,如何实现?
4个回答
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光...
点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
展开全部
这个原本其实并不是用timer,而是用线程,也就是启动线程的时候等待一个固定的时间,之后就做其它的操作(当然你在线程中可以对某个变量赋值)之后可以通过检测这个变量来判断是否是按时完成的。要求不高的时候用timer也是可以的,比如说你要做的那个处理是一个循环,那就用一个公用的变量比如flag,在处理之前设定它为true,在那个处理的循环中检查是不是true,如果是就执行,否则就出循环,在timer中到时间后就设定这个flag为false,这样就可以通知那个处理过程了。
后面这样做的问题就是:如果在循环执行一次的时间比较长,比如10秒,那么即使时间到了,这个操作是不会中止的,只有当操作完了,进入下一个循环的时候,才会检查到flag的变化。
后面这样做的问题就是:如果在循环执行一次的时间比较长,比如10秒,那么即使时间到了,这个操作是不会中止的,只有当操作完了,进入下一个循环的时候,才会检查到flag的变化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先创建一个线程,负责事务处理,同时在主程序创建一个Timer计时器。线程运行后,Timer开始计时,时间一到,就把线程挂起。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好使用多线程来处理,可以找相关的书看看,不难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询