如题

解决方案 »

  1.   

    begin
       asm
         mov ecx, 10   //10秒
         @L:
         push ecx
         push 1000
         call sleep
         pop  ecx
         loop @L
       end;
    end;
      

  2.   

    var
      a:integer;
    begin
      a:=gettickcount;
      while (gettickcount-a)<1000 do//等待一秒  
      gettickcount;
    end;
      

  3.   

    汇编语言执行速度快,时间差几乎为0
    var
      i : integer;
    begin
       i := 0;
       while i < 10 do
       begin
           Sleep(1000);
           inc(10);  //10秒
       end;
    end;
      

  4.   

    var
      a:integer;
    begin
      a:=gettickcount;
      while (gettickcount-a)<1000 do//等待一秒  
        gettickcount;
    end;
    这样CPU会100%的
      

  5.   

    汇编语言执行速度快,时间差几乎为0
    var
      i : integer;
    begin
       i := 0;
       while i < 10 do  //10秒
       begin
           Sleep(1000);
           inc(i);    end;
    end;
      

  6.   

    大家误解我的意思了
    我的意思是已知一个函数,比如SendCmd(strTemp)
    在不能修改这个函数的情况下,如何在它执行已超过了一定时间,但还没有自己返回的情况下,把它中断!
      

  7.   

    好像无法通过统一的代码控制实现,解释一下:
    在你的函数中调用的代码应当有同步和异步之分,如果独占进程,不论你在之前或者之后写了什么代码,都执行不到,因此无法实现。
    很多你调用的函数均有timeout参数,根据设置timeout参数的大小,你可以完成你要的功能。
    如果你调用的是自己写的函数,用实现被调用的函数时,使用 hch_45(んこん) 提供的方法就可以了。
    你说那?