求助:Delphi想实现在规定时间内做某些处理,但无论是否成功到时间都停止去做其他的程序处理,如何实现?
4个回答
展开全部
这个原本其实并不是用timer,而是用线程,也就是启动线程的时候等待一个固定的时间,之后就做其它的操作(当然你在线程中可以对某个变量赋值)之后可以通过检测这个变量来判断是否是按时完成的。要求不高的时候用timer也是可以的,比如说你要做的那个处理是一个循环,那就用一个公用的变量比如flag,在处理之前设定它为true,在那个处理的循环中检查是不是true,如果是就执行,否则就出循环,在timer中到时间后就设定这个flag为false,这样就可以通知那个处理过程了。
后面这样做的问题就是:如果在循环执行一次的时间比较长,比如10秒,那么即使时间到了,这个操作是不会中止的,只有当操作完了,进入下一个循环的时候,才会检查到flag的变化。
后面这样做的问题就是:如果在循环执行一次的时间比较长,比如10秒,那么即使时间到了,这个操作是不会中止的,只有当操作完了,进入下一个循环的时候,才会检查到flag的变化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先创建一个线程,负责事务处理,同时在主程序创建一个Timer计时器。线程运行后,Timer开始计时,时间一到,就把线程挂起。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好使用多线程来处理,可以找相关的书看看,不难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询