F
fj218
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TThd.abc;
begin
...
end;
procedure TThd.Execute;
begin
FreeOnTerminate:=true;
if abc then
TA.edf;
end;
TA为另一个类,如abc和TA.edf过程内都有循环,我想提前终止线程使用了Terminate语句,请问:
1、abc循环中应该能响应Terminated值,而提前终止循环吧?
2、TA.edf循环中应该不能响应TerMinated值,即使把Terminated作为参数传入过程内,应该也没有用吧?
3、假设线程正在执行时,点击窗口关闭(close事件中什么都没写),有时会出现异常。我分析,应该是在关闭窗体时,某些资源可能比线程先释放,而恰巧此时线程访问到这些资源,因此就会出现异常。不知我的分析对否?该如何解决这个问题 。有没有比用Try...except更好的方法
begin
...
end;
procedure TThd.Execute;
begin
FreeOnTerminate:=true;
if abc then
TA.edf;
end;
TA为另一个类,如abc和TA.edf过程内都有循环,我想提前终止线程使用了Terminate语句,请问:
1、abc循环中应该能响应Terminated值,而提前终止循环吧?
2、TA.edf循环中应该不能响应TerMinated值,即使把Terminated作为参数传入过程内,应该也没有用吧?
3、假设线程正在执行时,点击窗口关闭(close事件中什么都没写),有时会出现异常。我分析,应该是在关闭窗体时,某些资源可能比线程先释放,而恰巧此时线程访问到这些资源,因此就会出现异常。不知我的分析对否?该如何解决这个问题 。有没有比用Try...except更好的方法