小
小虾米爱吃鱼
Unregistered / Unconfirmed
GUEST, unregistred user!
说明:主线程界面显示,数据入库等,付线程负责数据采集,采集来的数据放在界面上的MEMO中,然后主线程通过时间通过定时来将数据入库。
问题:在主界面上有个退出按扭,该按扭下的事件如下写的:
当运行到 TKQ_Thread.Terminate;时,如果该线程立即退出了,那程序就报错了1400,如果可以运行到application.ProcessMessages;则可以安全退出。
begin
for i:=low(TKQ_Thread) to High(TKQ_Thread)do
begin
TKQ_Thread.Terminate;
application.ProcessMessages;
end;
for i:=low(TKQ_Thread) to High(TKQ_Thread)do
begin
IExit:=0;
with TKQ_Threaddo
begin
Try
for j:=0 to 20do
begin
if GetExitCodethread(Handle,IExit) then
begin
sleep(100);
Continue;
end
else
Break;
end;
if j>20 then
begin
TerminateThread(Handle,IExit);
end;
except
;
end;
end;
end;
application.ProcessMessages;
application.Terminate;
end;
问题:在主界面上有个退出按扭,该按扭下的事件如下写的:
当运行到 TKQ_Thread.Terminate;时,如果该线程立即退出了,那程序就报错了1400,如果可以运行到application.ProcessMessages;则可以安全退出。
begin
for i:=low(TKQ_Thread) to High(TKQ_Thread)do
begin
TKQ_Thread.Terminate;
application.ProcessMessages;
end;
for i:=low(TKQ_Thread) to High(TKQ_Thread)do
begin
IExit:=0;
with TKQ_Threaddo
begin
Try
for j:=0 to 20do
begin
if GetExitCodethread(Handle,IExit) then
begin
sleep(100);
Continue;
end
else
Break;
end;
if j>20 then
begin
TerminateThread(Handle,IExit);
end;
except
;
end;
end;
end;
application.ProcessMessages;
application.Terminate;
end;