超级菜!VB 中判断一个对象是否存在,用哪个函数?

Naola2001 华夏城视网络技术有限公司 技术总监/研发总监  2003-01-09 06:09:41
如题
...全文
674 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgd1304 2010-06-02
假设你需要判断控件的name="txtName"
你可以这样写:
If not (document.all("txtName") is nothing) then
''...... 这个控件对象能在画面找到所做的事情..
end if
回复
lxcc 2003-01-14
IsObject
回复
超级大笨狼 2003-01-14
type函数可以判断是否是object
回复
leyonben 2003-01-13
用 controls.ubound 属性就可以知道控件数组的上限,
知道以后就好办了吧?:)
回复
justaswind 2003-01-13
可能通过一些曲折的方式也能处理,但我认为在这里错误捕获是最好的方法
回复
Naola2001 2003-01-11
除了错误捕获没有其它的方法吗?
回复
justaswind 2003-01-10
同时T2的意见,错误捕获更好
回复
justaswind 2003-01-10
是控件数组下标的问题,没办法,好象只能用数组保存哪些Index的对象已被删除的Index,遇到时跳过去吧
回复
T2 2003-01-10
加入错误捕获
回复
Naola2001 2003-01-10
KAO,都不行啊,再说一次吧。
运行时,可能加载新的元素
如:
load linenode(4)
又可能此元素被删了 unload linendoe(4)

以后再遍历此控件数组,到被删的控件处会出错

Is Nothing 返回的都是 false
回复
starbaby 2003-01-09
If Not oControl Is Nothing Then
'首先判断对象是否存在,若存在则卸载
Controls.Remove("MapView")
'卸载控件,此操作非常重要
End If

小例子你看一下吧。。。
回复
programart_life 2003-01-09
你问的是在VB里面吗?嘿嘿,控件被删除?你试试Set Command1=Nothing看。VB压根就不许你这么做,再说了删除控件,有着必要吗?几乎所有控件都有Visible属性,你隐藏起来不就很好了。然后在窗体卸载的时候,他们会一起卸下(Set Form=Nothing)。
用户会删除你的控件?是什么用户?程序高手吗?他们用API或者别的什么工具找到你的控件的句柄,然后把它弄死了?呵呵,那样你的程序出错了,能怪你吗?哈哈
普通用户会删除你编译好了的软件上面的某个控件?没听说过中国有那个不懂软件开发的软件用户能有这么高的水平。也许地球上都没有这么一个人。
回复
ydzqw 2003-01-09
is nothing???这怎么用啊?
null???这是判断空值的,并不是判断对象是否存在。
我的办法是:if TypeName(对象)="Nothing" then....

我想这肯定不是什么好办法。不知谁能提供一个好办法
回复
ccbl 2003-01-09
null
回复
Naola2001 2003-01-09
使用环境,
一个控件数组,在使用中某个控件被删了,以后再遍历此控件数组,到被删的控件处会出错。
回复
Naola2001 2003-01-09
是吗?
回复
feels30000 2003-01-09
is nothing
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告