1、我用TimeOut延时没用,请问还有没有其它办法延时
2、有没有暂停命令,即程序运行一段后我按一键可暂停,按继续后可在暂停点继续程序的进行
2、有没有暂停命令,即程序运行一段后我按一键可暂停,按继续后可在暂停点继续程序的进行
解决方案 »
- 请教怎么样在摄像头上进行裁剪!
- 给个价
- 简单问题:如何得到鼠标已经选择的内容,我想做“右键”的功能
- 在EditKeyPress事件中如何限制只能输入不超过两位的小数!
- 请问这个SQL应如何写?给50分 线上等
- 有一个高难度问题?
- 怎么样才能泡到MM?欢迎大家讨论。
- No user transaction is currently in progress怎么办?急!!!!
- 动态创建窗口的问题:if not Assigned(form2) then form2:=Tform2.Create(Application);form2.show;错在哪了?第一次创建正常,关掉窗口后再创建就出错。
- 请问关于DBGrid的一个问题
- 湖南郴州有搞delphi的吗?
- query为什么会报硬盘空间不足?
procedure Delay(msecs:integer);
var
FirstTickCount:LongInt;
begin
FirstTickCount:=GetTickCount;
repeat
Application.ProcessMessages;
until ((LongInt(GetTickCount)-FirstTickCount) >= LongInt(msecs));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Delay(5000);
end;
你想让程序达到什么样的暂停?连鼠标键盘输入都不响应吗?
那这个程序还能被你控制吗?我的理解,如果程序不做任何操作的时候他本就应该是暂停的。并没有占用CPU。如果程序须要持续执行任务而且任务写在Idle事件中,那么切换Idle 事件就可以了,如果任务在线程中执行则把线程挂起就可以了。
哦,对了,也可以把主线程挂起啊,嘿嘿,没碰到过这样的问题。
第二个问题:假如你的程序的主干线程(这里指真正的事务线程而不一定是主线程)是循环性的作业,你可以使用事件(Event),程序初始化时创建一事件并初始化为触发,在每次执行事务前使用
WaitForSingleObject(...,INFINITE)检测事件是否触发,如果是继续否则它会一直等待。这样就可以通过该事件的触发控制事务线程的执行。当然如果是顺序结构的事务,就需要分段插入WaitFor...
或者在大作业中插入WaitFor...。