高手请进:动态Create控件,每打开一次占掉 1 M 多内存,简直当饭吃!!! 不释放内存,是系统的事吧,跟程序的关系应该不大不过,free的效果不知道和release相比如何呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 form2:=tform2.create(nil); form2.showmodal; form2.free; form2:=nil; 你是干什么啦,不free就nil了,不占内存才怪呢!这样就好:freeandnil(form2)看人家的函数名你就知道应该谁先谁后啦! form2:=nil; form2.free;哪有这等事!已经nil了,根本就不执行free象楼上说的那样做吧 ————————————————道歉————————————————对不起,是笔误,Sorry,Sorry,Sorry,Sorry,!!! form2:=tform2.create(nil); form2.showmodal; form2.free; form2:=nil;我在程序中是这样写的,shen630(shen630)兄告诉我时我还没注意到,直到winglion(狂言)说时才发现提问时写错了。 我刚才又试过,重启后会好一点,但占用内存还是会明显累加!!! 有Create的语句,一定要有一条对应的Free语句,我看你的程序光有Create却不Free在C++中,new之后一定要delete 我想肯定是你在Form2中干了不该干的事情----没有释放申请的资源! “我想肯定是你在Form2中干了不该干的事情”,说得好。——肯定是!我相信,我承认,我会负责。 先把程序没用的FREE掉吧。如果还不行,,,就难说了。 form2的onclose事件中加入以下语句才能真正释放内存.Action := caFree;form2 := nil; ——现在搞定了:1)在form1打开form2时一定要立即将form2.free,这样form3生成的控件才能确保每次都是刷新过的数据。2)在form2销毁时destray事件中设为:form2:=nil即可。(在close事件中用nil报错)————————————非常感谢各位的指点—————————————————— 关于多页文件的缩略图 如何在delphi中透明显示有多个背景色的GIF文件?? delphi7.0是不是没有quickreport这一项啊?? 进度条显示问题 怎样调整“客户区”的大小???急,急急急!!!!! 各位:哪有象qq界面的那种控件可以免费使用? 谁能给我一个多条件查询的例子(120分),up有分! delphi中如何获得局域网指定计算机网卡的MAC地址(包括不是一个网段内的)? 如何计算时间的问题 俺有一问题 我的问题还是没人解决啊!(300分) To PingGuo:能否解决我的问题吗?
form2:=tform2.create(nil);
form2.showmodal;
form2.free;
form2:=nil;
不free就nil了,不占内存才怪呢!
这样就好:freeandnil(form2)
看人家的函数名你就知道应该谁先谁后啦!
象楼上说的那样做吧
对不起,是笔误,Sorry,Sorry,Sorry,Sorry,!!!
form2:=tform2.create(nil);
form2.showmodal;
form2.free;
form2:=nil;
我在程序中是这样写的,shen630(shen630)兄告诉我时我还没注意到,直到winglion(狂言)说时才发现提问时写错了。 我刚才又试过,重启后会好一点,但占用内存还是会明显累加!!!
在C++中,new之后一定要delete
“我想肯定是你在Form2中干了不该干的事情”,说得好。——肯定是!我相信,我承认,我会负责。
Action := caFree;
form2 := nil;
现在搞定了:
1)在form1打开form2时一定要立即将form2.free,这样form3生成的控件才能确保每次都是刷新过的数据。
2)在form2销毁时destray事件中设为:form2:=nil即可。(在close事件中用nil报错)————————————非常感谢各位的指点——————————————————