ShowCom(Application.Handle,Caption,met_info,adm_info);  //该线程正在执行,设置个等待时间
  finally
    showmessage('正在退出!!!');问题就在这里!!!
   当我写这句话就没有问题,如果不些就会发生异常,而且整个程序崩溃了
   我在dll用了串口通讯控件,如果不用这个控件还不会发生异常。我不知道该如何是好了高手帮帮忙!!!     FreeLibrary(LibHandle); // Unload the DLL.
  end;

解决方案 »

  1.   

    能不能写得明白一点呢
    我如何设置等待时间
    等待多久呢
    我用sleep等待100个都不行的
      

  2.   

    ShowCom(Application.Handle,Caption,met_info,adm_info);
      finally
         ii := 0;
         while ii < 2000 do  //等待2秒
         begin
           Application.ProcessMessage;
           Inc(ii);
         end;   
         FreeLibrary(LibHandle); // Unload the DLL.
      end;
      

  3.   

    Application.ProcessMessage;
    是什么意思呢?这一百分是你的了
      

  4.   

    Application.ProcessMessage;
    是把CPU的控制权交给其它空闲的进程,线程
      

  5.   

    就是当你的程序进入一个长时间的操作时,调用Application.ProcessMessage;使系统能处理Windows发给它的消息。定期的调用使窗口可以响应重画、单击鼠标和键盘输入等事件,并保持程序外观.