怎么判断一个对象是否已被释放

作者:网络 来源:佚名 更新时间:2008-12-04 18:43:16 点击:

以下为引用的内容:
<%
dim conn'声明
set conn = server.createobject("adodb.connection")'创建
'使用
set conn = nothing'释放
%>

我们通常用如上的形式来创建一个对象,并使用和释放它,问题是我们怎么去判断一个对象是否已被释放了呢?用isobject可以吗?我们来试下:

以下为引用的内容:
<%
dim conn
response.write(isobject(conn)) '结果为false
set conn = server.createobject("adodb.connection")
response.write(isobject(conn)) '结果为true
set conn = nothing
response.write(isobject(conn)) '结果为true
%>

可见并不能使用isobject来判断一个对象是否已被释放,那我们用vartype或typename函数来试试看:

以下为引用的内容:
<%
dim conn
response.write(typename(conn)) '结果empty
set conn = server.createobject("adodb.connection")
response.write(typename(conn)) '结果connection
set conn = nothing
response.write(typename(conn)) '结果nothing
%>

所以,判断一个对象是否被释放我们应用:typename(conn)="nothing"(一定要用nothing不能用nothing,小写结果就不为true了,难道asp也区分大小写?