设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3589|回复: 5
打印 上一主题 下一主题

[模块/函数] Set 对象=nothing 真的释放对象内存吗

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2015-6-8 09:41:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们经常会误以为Set 对象=nothing 就是释放对象所占用的内存,甚至很多Access和VBA的书也是这样写的。
实际上 Set XXX = Nothing ' 这并不是释放那个对象, 它只是断开这个变量与对象本身的引用, 当那个对象的引用计数变成 0, 它才会会被释放掉.
从VB的角度讲,就是去除变量对对象的引用,当引用计数为0时就释放内存.
从COM的角度讲,就是AddRef和Release接口函数的调用.
虽然是一个简单的常识,但理解了,编程的思路才会清晰。

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2015-6-8 09:49:27 | 只看该作者
精辟!
回复

使用道具 举报

3#
发表于 2015-6-8 13:54:01 | 只看该作者
谢谢分享.
我看到的资料就是解释为释放内存,呵呵

前几天看到todaynew斑竹的越俎代庖 --- 递归函数示例(http://www.office-cn.net/thread-120006-1-1.html)想起我也曾写过类似代码实现类似功能,一直怀疑会不会出现内存泄露的情况.老别不过弯来,大师们能否给讲讲实现过程
4#
发表于 2015-6-9 14:22:11 | 只看该作者
风中漫步 发表于 2015-6-8 13:54
谢谢分享.
我看到的资料就是解释为释放内存,呵呵

刚做了个测试,todaynew斑竹的例应该不会泄露.特此说明
5#
发表于 2015-6-27 21:13:09 | 只看该作者
谢谢分享!!!!!
回复

使用道具 举报

6#
发表于 2015-8-5 15:55:47 | 只看该作者
思想非常不?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 07:22 , Processed in 0.105040 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表