社区
GAME,图形处理/多媒体
帖子详情
动态创建的组件或窗体的资源释放问题
King_Dragon
2002-05-31 09:40:46
在程序中,属于运行期动态创建的组件或是窗体,如果指定了Owner,没有显示调用组件或窗体的Free方法,在程序结束时会不会自动调用Free方法,释放动态组件所占有的资源?
另外,如果动态创建组件时没有指定Owner参数(Owner为nil),也没有调用Free或Destroy方法,程序结束时会不会自动释放.请说明理由或是原因!
...全文
116
3
打赏
收藏
动态创建的组件或窗体的资源释放问题
在程序中,属于运行期动态创建的组件或是窗体,如果指定了Owner,没有显示调用组件或窗体的Free方法,在程序结束时会不会自动调用Free方法,释放动态组件所占有的资源? 另外,如果动态创建组件时没有指定Owner参数(Owner为nil),也没有调用Free或Destroy方法,程序结束时会不会自动释放.请说明理由或是原因!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hellochina
2002-05-31
打赏
举报
回复
在程序中,属于运行期动态创建的组件或是窗体,如果指定了Owner,没有显示调用组件或窗体的Free方法。那么在Owner Free的时候,就会自动释放组件所占有的资源。
如果Owner的参数为nil的时候,在Owner Free的时候,是不会自动释放组件的,必须自己显示的释放。
因为在TComponent中有一个私有的FComponents,如果在组件Create的时候,如果Owner不为nil, 那么,该组件就会加入到Owner的FComponents,如果组件或者窗体没有调用Free,那么会在Owner Free 的时候,Owner会自动Free FComponents 中的所有成员。如果组件或者窗体自己显示的调用了Free,那么就会从Owner 的FComponents 中删除,不存在Free两次在现象。
详细的情况可以看一下Delphi 中TComponent的实现。
Almzg_0
2002-05-31
打赏
举报
回复
Owner解释为宿主,你自己可以做个小测试。比如在一个PANEL上自动创建一个BUTTON,然后只释放PANEL,你在程序中FINDCOMPONENT将找不到那个BUTTON
bigchg
2002-05-31
打赏
举报
回复
找不到句柄
在DELPHI中
动态创建
控件以及控件的事件
本文介绍在Delphi中
动态创建
控件及控件事件的方法。以
动态创建
Tshape实例并实现鼠标移动显示坐标为例,详细阐述了生成实例、赋初值、
释放
资源
的步骤,还说明了如何为
动态创建
的控件添加事件处理过程,给出了完整源码。
linux自定义
窗体
,在Delphi 中用程序实现自定义
窗体
的创建和显示顺序(2) (转)...
本文介绍了一种在Delphi中
动态创建
和显示
窗体
的方法,通过设置全局变量来记录应显示的
窗体
,并在
窗体
创建过程中进行判断。此外,还讨论了解决程序关闭权限转移的
问题
。
Delphi
动态创建
组件
本文介绍了一个使用Delphi编写的简单应用程序案例,该程序演示了如何在
窗体
关闭时
释放
由
窗体
创建的对象
资源
,并展示了如何拦截鼠标左键点击事件以在点击位置创建按钮并显示坐标。
java:实现创建内部子
窗体
(附带源码)
本项目基于Java Swing构建多文档接口(MDI),介绍在主
窗体
创建内部子
窗体
的方法。包括通用化创建、子
窗体
功能实现、布局排列、事件监听等。通过封装工具类、绑定快捷键等提升开发与用户操作效率,还给出常见
问题
解答及扩展优化方向。
在DELPHI中
动态创建
控件以及控件的事件(转)配合 让FIREDAC记录数据库的异常日志...
本文介绍在Delphi中如何
动态创建
TShape控件,并为其动态添加OnMouseMove事件处理过程,实现鼠标移动时在
窗体
标题栏显示坐标。
GAME,图形处理/多媒体
1,184
社区成员
14,330
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章