以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 递归函数如何判断object is null? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138438) |
-- 作者:lur320 -- 发布时间:2019/7/31 11:32:00 -- 递归函数如何判断object is null? 在制作treenode时,想制作一个类似教材里面《递归函数使用实例》的方法来做一个BOM表。 教材里面在执行自定义程序的时候,有传递一个treenode给程序的args(1)。这样是treeview里面最底层就是这个“全部”的节点。 而我如果不想传递一个基础节点给递归函数,让函数自己判断object是否是空,如果是空,自动在底层加node,否则就是在参数的node下面加。 我试过 Dim nd As WinForm.TreeNode=args(1) if nd.name="" then ..... 当传递一个空的args给程序后,nd.name会报错。 请问如何判断object 是空? |
-- 作者:有点蓝 -- 发布时间:2019/7/31 11:48:00 -- Dim nd As WinForm.TreeNode=args(1) if nd is nothing then msgbox("空") end if
|
-- 作者:lur320 -- 发布时间:2019/8/7 11:38:00 -- 我这样做报错了。 Exception has been thrown by the target of an invocation. Index was outside the bounds of the array. 我的自定义程序是: Dim lbl As WinForm.NumericComboBox Dim lblname As WinForm.TreeNode =args(0) Dim tv As WinForm.TreeView =args(1) If tv IsNot Nothing Then 。。。。。 Return Nothing Else MessageBox.Show(1) 这段代码都不能执行到。 Forms("new_MO").RemoveControl(lblname.name) Return Nothing End If |
-- 作者:lur320 -- 发布时间:2019/8/7 11:40:00 -- OK了, 外面的引用要这样写。Functions.Execute("addlbl",e.node,Nothing)才可以
|