我新增的子窗体,刚开始代码少的时候,关闭子窗体,再关闭父窗体,程序瞬间就停止;到现在代码量能有2000行左右,我现在关闭子窗体,再关闭父窗体,程序就跟死了似的,过了有1分钟左右才能正式停止,我知道肯定是我程序哪里出了问题,可不知道一般出现这种问题都是由于什么类型的原因导致的,哪位知道能否相告?非常感谢!!
13 个解决方案
#1
高手帮忙阿~~~~~~~~~~
#2
检查一下你的窗体关闭,写了些什么耗时的代码
#3
没有啊,我的窗体关闭,就做了动态数组的清空
#4
我靠,厉害,从来没遇到这种问题,UP。
#5
只能用排除法一点点调试了
#6
怎么清空动态数组的?
#7
贴出关闭代码
#8
for I := 0 to MainForm.MAX_JUKEBOX - 1 do begin
if Length(JukeBoxArray) <> 0 then begin
if(JukeBoxArray[I]=nil) then
continue;
JukeBoxArray[I]:=nil;
end
else
break;
end;
if Length(JukeBoxArray) <> 0 then begin
if(JukeBoxArray[I]=nil) then
continue;
JukeBoxArray[I]:=nil;
end
else
break;
end;
#9
我也不知道对不对,反正是这么做的,唉,愁死了,大家帮帮忙吧
#10
JukeBoxArray是什么类型的? 有必要这么做吗
#11
是我做的动态数组,我也不知道有没有必要,我看别人的代码是这么做的,可别人的代码就耗用,我这里就出现这种情况,晕
#12
先看看你的JukeBoxArray是多少,如果是一天文级数字,那也有可能……
#13
今天调试,这个问题莫名其妙的好了,不管如何,谢谢大家的帮忙,给分喽
#1
高手帮忙阿~~~~~~~~~~
#2
检查一下你的窗体关闭,写了些什么耗时的代码
#3
没有啊,我的窗体关闭,就做了动态数组的清空
#4
我靠,厉害,从来没遇到这种问题,UP。
#5
只能用排除法一点点调试了
#6
怎么清空动态数组的?
#7
贴出关闭代码
#8
for I := 0 to MainForm.MAX_JUKEBOX - 1 do begin
if Length(JukeBoxArray) <> 0 then begin
if(JukeBoxArray[I]=nil) then
continue;
JukeBoxArray[I]:=nil;
end
else
break;
end;
if Length(JukeBoxArray) <> 0 then begin
if(JukeBoxArray[I]=nil) then
continue;
JukeBoxArray[I]:=nil;
end
else
break;
end;
#9
我也不知道对不对,反正是这么做的,唉,愁死了,大家帮帮忙吧
#10
JukeBoxArray是什么类型的? 有必要这么做吗
#11
是我做的动态数组,我也不知道有没有必要,我看别人的代码是这么做的,可别人的代码就耗用,我这里就出现这种情况,晕
#12
先看看你的JukeBoxArray是多少,如果是一天文级数字,那也有可能……
#13
今天调试,这个问题莫名其妙的好了,不管如何,谢谢大家的帮忙,给分喽