怎么样判断对象或变量是否存在?

wjj3000 2005-02-21 05:28:40
例如:Dim str As string这行代码中str变量是否存在?
...全文
446 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
amendajing 2005-02-22
  • 打赏
  • 举报
回复
捕捉异常
aquariusdeng 2005-02-22
  • 打赏
  • 举报
回复
try
//释放str
catch
//不作任何事情
机器人 2005-02-22
  • 打赏
  • 举报
回复
System.Runtime.InteropServices.Marshal.ReleaseComObject( object o )

参数
o
要释放的 COM 对象。

此方法用于显式控制从托管代码使用的 COM 对象的生存期。应及时(或者在对象按指定的顺序必须释放时)使用此方法,来释放引用某些资源的基础 COM 对象。

该运行库可调用包装具有引用计数,每次将 COM 接口指针映射到该运行库可调用包装时,此引用计数都将递增。ReleaseComObject 方法递减运行库可调用包装的引用计数。当引用计数达到零时,运行库将释放非托管 COM 对象上的所有引用,并在您试图进一步使用该对象时引发 System.NullReferenceException。如果从非托管代码向托管代码传递同一 COM 接口的次数超过一次,则包装上的引用计数将依次递增,而且调用 ReleaseComObject 将返回剩余引用的数目。

注意 若要确保释放运行库可调用包装及原始 COM 对象,可构造一个循环,并从该循环调用此方法,直到引用计数达到零。
yizhixiaozhu 2005-02-22
  • 打赏
  • 举报
回复
up
FJGoodGood 2005-02-22
  • 打赏
  • 举报
回复
>> 我想判断变量是否在前面定义过了?如果变量已定义我想释放这个变量

把这个变量做成类的静态变量,就只会有一份了!
exing 2005-02-22
  • 打赏
  • 举报
回复
如果是对象的实例化,可以考虑用开发模式中的singleton,保证你的对象是唯一的
wjj3000 2005-02-22
  • 打赏
  • 举报
回复
谢谢各位朋友。
我想判断变量是否在前面定义过了?如果变量已定义我想释放这个变量。我是在.net中使用com对象,com对象是非托管代码,要自己手工回收资源。
echoxue 2005-02-21
  • 打赏
  • 举报
回复
不懂楼主的真正意思????????
兔子-顾问 2005-02-21
  • 打赏
  • 举报
回复
.net很安全,以上代码我保证无法通过。编译的时候就会提示变量是否定义过。:)
兔子-顾问 2005-02-21
  • 打赏
  • 举报
回复
try
if str is nothing then
//存在,并是一个空引用
else
//存在,是指向一个实例的引用
end if
catch
//不存在str变量
end try
xxuu503 2005-02-21
  • 打赏
  • 举报
回复
try
//涌涌str
catch
如果不存在则出错
xxuu503 2005-02-21
  • 打赏
  • 举报
回复
try
//涌涌str
catch
如果不存在则出错
haoco 2005-02-21
  • 打赏
  • 举报
回复
up
hamadou 2005-02-21
  • 打赏
  • 举报
回复
想看Dim str As string 是否存在,这个容易!
只要再写一行Dim str As string,然后编译运行!哈哈!
FJGoodGood 2005-02-21
  • 打赏
  • 举报
回复
你是想判断变量是否在前面定义过了,还是想判断变量是否赋值过了????
3tzjq 2005-02-21
  • 打赏
  • 举报
回复
这里VS.Net 后台编译的工作。
你只能判断变量str的值是否存在(为空)!

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧