為何在線程中無法關閉程序?该怎么解决
為何在線程中無法關閉程序?
為何在線程中無法關閉程序?
procedure thread1;
begin
...
.......
if close=true then //當close為true時
begin
winexec(pchar(application.exename),sw_normal); //重啟自身程序
application.Terminate; //退出程序 //這一動作失效,程序沒有退出
end;
end;
h:=beginthread(nil,0,@thread1,nil,0,hid);
------解决方案--------------------
不能在线程中结束程序。但是尝试:
当要结束程序时,先结束线程,然后返回给程序一个布尔。程序决定是否关闭
為何在線程中無法關閉程序?
procedure thread1;
begin
...
.......
if close=true then //當close為true時
begin
winexec(pchar(application.exename),sw_normal); //重啟自身程序
application.Terminate; //退出程序 //這一動作失效,程序沒有退出
end;
end;
h:=beginthread(nil,0,@thread1,nil,0,hid);
------解决方案--------------------
不能在线程中结束程序。但是尝试:
当要结束程序时,先结束线程,然后返回给程序一个布尔。程序决定是否关闭