如何结束一个应用程序 各位大侠帮看看 ( 积分: 0 )

  • 主题发起人 主题发起人 liujiandong
  • 开始时间 开始时间
L

liujiandong

Unregistered / Unconfirmed
GUEST, unregistred user!
我的应用程序中用到了一个线程,我用一个按钮结束该应用程序,代码为:
begin
Application.terminate;
mythread.destroy;
close;
end;
但我点击该按钮后,程序不退出,假死。我不知道代码错在那里?请各位指教!
 
我的应用程序中用到了一个线程,我用一个按钮结束该应用程序,代码为:
begin
Application.terminate;
mythread.destroy;
close;
end;
但我点击该按钮后,程序不退出,假死。我不知道代码错在那里?请各位指教!
 
用TerminateProcess试试
 
TerminateProcess可以吗?
 
mythread:=nil;
Application.terminate;
 
if Assigned(mythread) then
mythread.terminate;
application.terminate;
 
mythread.terminate 可以
但是它不会终止线程,只会把线程类的 Terminated 字段置 true
所以,你需要在线城的循环结构里面加上
if Terminated then
break;
 
程序释放后,再释放线程,会很危险吧...万一进程找不到线程句柄,玩完.......
 
楼上说的有道理,结束程序的时候应该先结束线程,再释放程序;
begin
myThread.destroy;
Application.terminate;
close;
end;
 
后退
顶部