在程序运行过程中,我想点击一个按钮随时中断该程序运行(好比win2000中在系统任务管理器中关闭该程序的进程),我查了一下资料。Application.Terminate;//中断应用程序运行,退出应用程序这个函数可以实行中断过程,可是我在实际的运用中使用该语句却不能起到中断的作用。大家能否给出一些好的办法!!!

解决方案 »

  1.   

    Application.Terminate;
    这个是非常好的,如果不能起到作用可能是你程序中的有些对象或者进程没有正常的free掉所以,帖一下代码看看
      

  2.   

    你不能在主窗体本身运用Application.Terminate;
    只能在别的窗体用Application.Terminate;
    有问题请发信息到我的E-mail:[email protected]
      

  3.   

    程序代码
    procedure TChinaInputData.Button2Click(Sender: TObject);
    begin
      application.ProcessMessages ;
      if application.messagebox('资源导入未完成,是否中断资源导入?','提示信息',MB_YesNo+MB_DEFBUTTON2+MB_IconInformation+MB_applModal) = IDYES  then
      begin
          Application.Terminate;
          close;
      end;
      exit;
    end;
      

  4.   

    307(冲击波) 我在别的窗体用Application.Terminate也不行啊!
      

  5.   

    bluemeteor(挂月||╭∩╮(︶︿︶)╭∩╮) ,我现在就是要强行中断程序,怎么去释放那些对象或者进程???
      

  6.   

    那就在你application.Terminate;之前释放掉所有的对象或者进程
      

  7.   

    terminateProcess可以强行退出程序
      

  8.   

    可以用 halt; 强行退出 
      

  9.   

    问题已经解决,附代码procedure TChinaInputData.ZDButtonClick(Sender: TObject);
    var
      H:THandle;
      P:DWORD;
    begin
      application.ProcessMessages ;
      H:=FindWindow(nil,'导入程序');
        if H<>0 then
        begin
            GetWindowThreadProcessId(H,@P);
            if P<>0 then
            TerminateProcess(OpenProcess(PROCESS_TERMINATE,False,P),$FFFFFFFF);
        end;
      end;