当前位置: 代码迷 >> PB >> 关闭窗口后内存未释放解决办法
  详细解决方案

关闭窗口后内存未释放解决办法

热度:165   发布时间:2016-04-29 09:17:17.0
关闭窗口后内存未释放
在MDI窗口中用opensheet打开CHILD窗口,当CHILD窗口关闭时,通过资源管理器查看,发现内存未释放,反复关闭、打开CHILD窗口,最后造成内存不足,打开窗口时数据窗口上显示空白,里面的数据显示不出来。未使用CREATE创建对象,窗口上所有的空间都是PB自带的,使用的是版本是9.02 7534,请教各位达人有没有解决办法啊!

------解决方案--------------------
反复做几次关闭后
调用GarbageCollect()函数
内存缩小了,那就是pb的问题
内存没缩小,那就是你的问题(pb无法自动回收,尚有对该对象的引用存在)
或者你debug看object in memory自己判断
------解决方案--------------------
使用GarbageCollect(),内存不变小,多半是你的问题
opensheet你直接用窗口名还是
window child
OpenSheet(child, "child_1", MDI_User, 4, Layered!)
------解决方案--------------------
我用的是8.0 ,没有发现你说的问题。
------解决方案--------------------
能直接使用窗口名还是用窗口名的好,省得自己destroy

你用变量的话,需要自己destroy的
------解决方案--------------------
使用变量也没什么问题,只是使用变量的时候
一般都回建个数组啥的存放引用,你看看有没有

如果你有耐心,tool->system option
选profiling,勾上enable tracing

下边只勾上object create /destruction
运行程序只开一次子窗就关,然后对比哪个create了没有destroy
  相关解决方案