社区
Delphi
帖子详情
释放问题!
256m
2002-12-14 05:16:08
FActiveGrid := TDBGrid.Create(nil);
.
.
.
FActiveGrid := MainGrid;
.
.
.
窗口最后关闭的时候,一般要把自己加的控件释放到,如果
FActiveGrid.Free
FActiveGrid := nil;
这个时候释放的是哪个?
是不是要在改变FActiveGrid之前先将其地址保存下来?
...全文
42
10
打赏
收藏
释放问题!
FActiveGrid := TDBGrid.Create(nil); . . . FActiveGrid := MainGrid; . . . 窗口最后关闭的时候,一般要把自己加的控件释放到,如果 FActiveGrid.Free FActiveGrid := nil; 这个时候释放的是哪个? 是不是要在改变FActiveGrid之前先将其地址保存下来?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
256m
2002-12-23
打赏
举报
回复
最近太忙不好意思,没有回帖。
以前在我在窗口上放一个ActiveGrid,用于引用各个当前Grid,每次Form的Create事件里:ActiveGrid := TDBGrid.create(nil),每当一个真正的Grid,得到焦点后,我就:ActiveGrid := TDBGrid(Sender) 。窗口关闭的时候再Free。
后来我觉得,窗口Create的时候,没有必要ActiveGrid := TDBGrid.create(nil),但是书是不是又说,没有创建就不能用!?最后我大着胆子删掉ActiveGrid := TDBGrid.create(nil),居然没有出错?!嘿嘿。
不是各位有什么感想?
hansion3406
2002-12-16
打赏
举报
回复
第一个FREE时又经释放了..第二个NIL是用来把那个对像的被调用计数器设为NIL而已...这样是怕会产生引用错误的一种较安全的做法..
如果你怕没有释放的话..呵呵..恶一点..再来一个
freeandnil(yourobject);
就可以了..
dongliu
2002-12-16
打赏
举报
回复
搂主:我认为释放的是第二个,第一个并没有释放,仍然存在。不出错的原因是窗体在关闭的时候自己会自动释放所有空间
siyu2002
2002-12-16
打赏
举报
回复
wjlsmail(计算机质子)说的没错,楼主放心吧,FActiveGrid.Free,XXGrid当然不能访问了
wjlsmail
2002-12-15
打赏
举报
回复
FActiveGrid 和 XXGrid 可以看作指向同一内存块的两个指针
FActiveGrid.Free 可以看作释放的是这个指针
请指正
256m
2002-12-15
打赏
举报
回复
我觉得不太对,可以这样试一下,如果窗口没有关闭,直接在某个过程中:
FActiveGrid := XXGrid,然后,FActiveGrid.Free,应该调用的是XXGrid的Free方法把XXGrid,Free了,这个时候再试问XXGrid会出错,也就是说原来的FActiveGrid并没有被Free.
.
..
...
cookieyfeng
2002-12-14
打赏
举报
回复
我觉得释放一次旧可以了,因为虽然第一次指针给了FActiveGrid,但第二次指针的连接变了,所以把这个指针释放了旧可以了!
wjlsmail
2002-12-14
打赏
举报
回复
同意楼上,相当于指针。 我想这和编译中对变量内存的分配有关
siyu2002
2002-12-14
打赏
举报
回复
FActiveGrid.Free就行了
我认为在delphi里FActiveGrid 就是个指针
我是这样理解的,这和C++不太一样,希望和大家讨论一下
256m
2002-12-14
打赏
举报
回复
补充:我在代码是一直没有保存,就直接Free,也不知道真正Free了没有,虽然没有出现什么异常,但是心里老是不踏实!
帮帮我吧,谢谢!
C语言系列之 二级指针、指针运算、堆内存的开辟与
释放
尹成老师带你步入 C 语言的殿堂,讲课生动风趣、深入浅出,全套视频内容充实,整个教程以 C 语言为核心,完整精彩的演练了数据结构、算法、设计模式、数据库、大数据高并发检索、文件重定向、多线程同步、进程通讯、...
PowerShell 运行内存无法
释放
问题
!
我们怎么解决这个
问题
呢?我们能不能像下面的这个命令一样,内存始终保持一个恒定值? 我们发现我们的内存基本上恒定,不会因为我们的过多的参数耗用较多的内存。其实PowerShell 是基于.NET环境构建的语言,....
linux CUDA nvidia-smi无显存占用,手动
释放
(解决进程杀死,显存仍在的
问题
)
1 nvidia-smi 查看显存占用 2 fuser -v /dev/nvidia* 查看占用的死进程ID 3 sudo kill -9 PID 好,完美解决GPU显存
释放
问题
!
Oracle数据库表空间清空后,未
释放
磁盘空间
问题
!
今天在进行Oracle数据库清空后,磁盘空间没有
释放
,在查了一些资料后解决该
问题
! 首先,我执行删除数据库用户命令:drop user username cascade; 接着,执行了删除表空间命令:drop tablespace tablespacename ...
stm32 移植cJson 注意free
释放
内存!!
关于free这点特别加粗注意,我被这个
问题
困扰两天,默认网上的介绍都是这样写的,编译代码也没要出现错误。 其实不对的,应该使用myfree(p); 这个函数才能给真正
释放
内存,要不然程序跑几分钟就卡死了,这个特别...
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章