这么个"空指令"啊,我还以为是nop nop..
sleep是可以交出处理器时间的嘛.要不试下processmessage..

解决方案 »

  1.   

    等待1111毫秒:
    mytick:dWord;mytick:=GetTickcount;while true do   //此处等待
      begin
        if ((GetTickcount-mytick)>=1111) then break;
        Application.ProcessMessages;  //此处处理其它消息
      end;换种写法是:
      mytick:=GetTickcount;
      while ((GetTickcount-mytick)<1111) do  Application.ProcessMessages;
      

  2.   

    用Timer或线程,在执行过程中设置等待。
      

  3.   


    dim t1 as single,t2 as single
    t1=timer
    t2=timer
    do while(t2-t1)<3'延迟时间
    doevents'试试看
    t2=timer
    loop