安全退出一个循环(300)

D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个按钮里面事件是一个很大的for循环,我在formclose的时候怎么安全的退出for循环,并销毁for循环里面用到的对象。
 

白河愁

Unregistered / Unconfirmed
GUEST, unregistred user!
自己做个标记,判断后break
 
D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢 回答 formclose设置一个变量值,让for break;但我设置一个标志值就会销毁for循环里面用到的对象,尔耳会引起crash我怎么等待 按钮里面事件 完成,用事件等等方法会引起 主线程 阻死
 
Z

zbdzjx

Unregistered / Unconfirmed
GUEST, unregistred user!
设个全局变量,默认为false,for循环开始时变成true,在onclosequery(好象这个名吧)时,变成false,在for循环中判断,如果是false,就将for循环中用的对象全部关闭、释放,然后再关闭这个窗口。
 
D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
就用一个变量 就能保证for退出了吗?肯定不行的,我要安全的方法
 
Z

zhengrong117

Unregistered / Unconfirmed
GUEST, unregistred user!
while true do beginif BForEnd then begin if assigned() then freeandnil()
break;end;...end;
 

地质灾害

Unregistered / Unconfirmed
GUEST, unregistred user!
按钮单击事件里循环在执行,所有消息都响应不了,怎么可能触发FormClose?很耗时的操作,还是另开一个线程去做吧或者你在最内层循环里加一句Application.ProcessMessage,然后才可以用设置标记的方法来安全终止循环。
 
D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么可能触发FormClose:有Application.ProcessMessage;唉,多处写了对象判断,暂时没什问题,程序好乱啦,
 
D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 

Similar threads

顶部