社区
C++ Builder
帖子详情
动态加载DLL(包含子FORM)的问题
xrfei
2003-06-20 06:07:16
由于采用动态加载包含子FORM的DLL,当该子FORM关闭时,我给调用的主窗体发送一条消息,以便释放由LoadLibrary(dllName)语句所占用的内存。但如果用户没有关闭该子FORM,而直接关闭主调用程序,我是不是应该先释放子FORM所占用的空间,再释放LoadLibrary(dllName)语句所占用的内存?应该如何操作才好?
...全文
83
10
打赏
收藏
动态加载DLL(包含子FORM)的问题
由于采用动态加载包含子FORM的DLL,当该子FORM关闭时,我给调用的主窗体发送一条消息,以便释放由LoadLibrary(dllName)语句所占用的内存。但如果用户没有关闭该子FORM,而直接关闭主调用程序,我是不是应该先释放子FORM所占用的空间,再释放LoadLibrary(dllName)语句所占用的内存?应该如何操作才好?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangxd
2003-06-22
打赏
举报
回复
可循环调用this->MDIChildren[index]->Close(),关闭所有的Form,再释放dll
alenwelkin
2003-06-21
打赏
举报
回复
你的想法是正确的
ThinkX
2003-06-21
打赏
举报
回复
采用对DLL资源的引用计数。
wangxiangsjz
2003-06-21
打赏
举报
回复
fishtailer() 的办法可行。
xrfei
2003-06-21
打赏
举报
回复
fishtailer() 你好!
现在我要达到这样一个功能,就是各功能子模块都用DLL开发,在主FORM中调用.这样能全采用ShowModal的方式显示吗?如果一个DLL中不止包含一个子FORM呢?该怎么办?
pp616
2003-06-21
打赏
举报
回复
呵呵。
fishtailer
2003-06-20
打赏
举报
回复
楼主的思路正确啊,的确要先释放dll中的Form,再释放dll;
一般dll中的Form用ShowModal显示,这样就要先关闭该Form;
当然可循环调用this->MDIChildren[index]->Close(),关闭所有的Form,再释放dll;
wangxiangsjz
2003-06-20
打赏
举报
回复
楼上,如果DLL中是MDIChildForm,就不能用ShowModule。
烟灰
2003-06-20
打赏
举报
回复
这个我做过很多次了,
在 DLL 中写一个显示 DLL 窗体的函数,一定要用 showmodule 方法,这样,DLL中的窗体
就会显示在主程序的上面,只要 DLL 的窗体退出,就在 DLL 中将此窗体 FREE 掉,同时
就可以 freelibray (dllname ) 了,这样不会有错的
xrfei
2003-06-20
打赏
举报
回复
顶一下。
C# Win
Form
动态
加载
DLL
通过配置文件
总结来说,C# Win
Form
通过配置文件
动态
加载
DLL
的关键步骤包括:读取配置文件中的
DLL
路径,使用`Assembly.LoadFrom`
加载
DLL
,通过反射获取并实例化
DLL
中的类,最后调用类的方法执行功能。这种方法提高了代码的可维护...
vb6
动态
加载
DLL
COM对象-CoCreateInstanceEx中国第一个
而
动态
加载
则是在运行时根据需要
加载
DLL
,可以减少程序启动时的内存占用,也便于更新或替换
DLL
。 - 在VB6中,通过`LoadLibrary`和`GetProcAddress`两个API函数可以实现
动态
加载
DLL
。不过,对于COM组件,更常见的是...
Delphi 调用
DLL
文件中的
FORM
-
加载
DLL
:使用`LoadLibrary`函数
加载
DLL
文件,并通过`GetProcAddress`获取
DLL
中的函数地址。 - 创建
FORM
:通过之前导出的初始化函数创建
FORM
实例,如`var My
Form
:= CreateMy
Form
();`。 - 显示
FORM
:可以使用`...
lazarus调用
动态
库
DLL
的例
子
在Windows上,使用`LoadLibrary`
加载
DLL
,然后用`GetProcAddress`获取函数指针。在Linux上,使用`dlopen`打开
动态
库,接着用`dlsym`获取函数地址。 7. **安全处理**:在调用
DLL
函数前,务必检查`LoadLibrary`和`...
dll
中
加载
form
窗体 - DELPHI版.rar
虽然
DLL
通常不直接拥有用户界面,但在这个例
子
中,
DLL
包含
了一个窗体(
Form
)。窗体是用户与程序交互的主要界面,你可以通过Delphi的可视化设计器创建和设计这个窗体,添加控件和编写事件处理代码。 4. **导出
Form
...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章