导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« 多线程: 不使用同步工具, 手动协调线程依次执行

delphi判断线程是否正在运行

//以下资料来自大富翁论坛。w
/判断线程是否释放
//返回值:0-已释放;1-正在运行;2-已终止但未释放;
//3-未建立或不存在

function TFrmMain.CheckThreadFreed(aThread: TThread): Byte; var  i: DWord;  IsQuit: Boolean; begin  if Assigned(aThread) then  begin    IsQuit := GetExitCodeThread(aThread.Handle, i);    if IsQuit then           //If the function succeeds, the return value is nonzero.                                  //If the function fails, the return value is zero.    begin      if i = STILL_ACTIVE then    //If the specified thread has not terminated,                                  //the termination status returned is STILL_ACTIVE.        Result := 1      else        Result := 2;              //aThread未Free,因为Tthread.Destroy中有执行语句    end    else      Result := 0;                //可以用GetLastError取得错误代码  end  else    Result := 3; end;

 

 

原创文章如转载,请注明:转载自心动吧DELPHI网络书 [ http://www.abcxd.com/delphi/ ]

本文链接地址:http://www.abcxd.com/delphi/abcxddelphi/delphiJQSQ/delphi-thread.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热文排行使用

本年排行使用

本月排行使用

网站分类

搜索内容

最新评论及回复

最近发表

所属分类下的文章

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved