如何作一个类似于SLEEP的延迟函数:
1/要求在延迟过程中还能接受到系统消息,不能和SLEEP一样;
2/要求系统占用率要低,我曾经用过
REPEAT
  Application.pressmessage;
UNTIL GetTickCount-TIme>T;
系统占用率迅速达到100%。
3、我没有引用FORM单元,所以不能使用APPLICATION.PREESMESSAGE。函数
4、这个延迟函数我要在动态链接库中调用。感谢各位。

解决方案 »

  1.   

    用一个for 或者 while ,repeat ---until
    比如:
         for i:=0 to 500 do
         begin
             label.caption:=inttostr(i);//这里随便做一些动作
    end;
      

  2.   

    你做这个的用途是什么?想不懂。如果窗体你不对它做什么它的CPU占用是很小很小的,也可以响应。
      

  3.   

    delay(t:dword);
    var
      t1:dword;
    begin
       t1:=gettickcount;
       while gettickcount-t1<t do
        application.processmessage;
    end;
      

  4.   

    SLEEP的时候不能接受到消息啊。
    TO : pingshx()  我不能使用APPLICAITON.PROCESSMESAGE函数啊。
    TO:  chenkandy(kandy)   我晕!!
    我要在DLL中使用这个延迟函数啊。