关闭窗口后内存未释放

xyzshift 2007-10-24 12:48:48
在MDI窗口中用opensheet打开CHILD窗口,当CHILD窗口关闭时,通过资源管理器查看,发现内存未释放,反复关闭、打开CHILD窗口,最后造成内存不足,打开窗口时数据窗口上显示空白,里面的数据显示不出来。未使用CREATE创建对象,窗口上所有的空间都是PB自带的,使用的是版本是9.02 7534,请教各位达人有没有解决办法啊!
...全文
208 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyzshift 2007-10-26
  • 打赏
  • 举报
回复
问题已发现,是框架调用一个动态连接库的问题,谢谢大家。
wzhfs 2007-10-25
  • 打赏
  • 举报
回复
不可能的事,你太不应该了,要学写程序!
xyzshift 2007-10-24
  • 打赏
  • 举报
回复
我也在怀疑是版本的问题,但是我在网上搜索了,没有说7534这个版本有这个问题的啊
zjoy 2007-10-24
  • 打赏
  • 举报
回复
???
照你说的情况,不应该会这样的,难道你的版本有问题??
AFIC 2007-10-24
  • 打赏
  • 举报
回复
使用变量也没什么问题,只是使用变量的时候
一般都回建个数组啥的存放引用,你看看有没有

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

下边只勾上object create /destruction
运行程序只开一次子窗就关,然后对比哪个create了没有destroy
zjoy 2007-10-24
  • 打赏
  • 举报
回复
能直接使用窗口名还是用窗口名的好,省得自己destroy

你用变量的话,需要自己destroy的
zzc0527 2007-10-24
  • 打赏
  • 举报
回复
我用的是8.0 ,没有发现你说的问题。
xyzshift 2007-10-24
  • 打赏
  • 举报
回复
对,使用的是变量

使用变量有什么后果吗?
AFIC 2007-10-24
  • 打赏
  • 举报
回复
使用GarbageCollect(),内存不变小,多半是你的问题
opensheet你直接用窗口名还是
window child
OpenSheet(child, "child_1", MDI_User, 4, Layered!)
xyzshift 2007-10-24
  • 打赏
  • 举报
回复
使用GarbageCollect(),内存不变小,使用DUBUG跟踪OBJECT IN MEMORY,关闭的窗口在里面已经没有了.
AFIC 2007-10-24
  • 打赏
  • 举报
回复
反复做几次关闭后
调用GarbageCollect()函数
内存缩小了,那就是pb的问题
内存没缩小,那就是你的问题(pb无法自动回收,尚有对该对象的引用存在)
或者你debug看object in memory自己判断

794

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 项目管理
社区管理员
  • 项目管理
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧