求教:如何防止Unload一个未Load过的窗体?

Rainee Rainee 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
经测试发现如下情况:
一个例子项目里面有A、B两个窗体,A为启动窗体,在未对B进行任何有意义的操作之前(Load、Show等),如果调用了Unload B,B窗体将在内存中瓜分内存,而且这种情况即使使用Unload B(B_Unload中调用Set B = nothing)都无法释放B,只能在Show B后再调用Unload函数才可以释放B;

提出此问题的意义:
在多窗体项目中,如果单个单个窗体退出时很容易正确释放窗体占用的资源,而成批关闭窗体或者中途退出项目时,需要确保每个窗体都被释放,如果这个时候调用Unload函数操作了一个已经释放过内存的或者未Load过的窗体,将会有资源泄漏。

使用IsObject(B)来判断无法避免这个问题。
各位有何高招?
...全文
评论 27
收藏 已收藏
分享
返回顶部
Rainee
VB基础类 7,788 成员 197,583 内容