Don't understand "Object required" error
I have the following ASP classic function:
function get_children(n)
dim local_array
dim parent
dim path
if n.hasChildNodes() then
for each child in n.childNodes
local_array = array_merge(local_array, get_children(child))
next
else
set parent = n.parentNode
while isobject(parent)
path = parent.nodeName & "/" & path
set parent = parent.parentNode
wend
path = path & "/" & get_attr(n, "file")
set_attr n, "path", path
开发者_运维知识库 local_array = Array(0)
set local_array(0) = n
end if
get_children = local_array
end function
Running this over an XML node (coming from a Microsoft.XMLDOM object), I get the error Object required: 'parent' on the line
path = parent.nodeName & "/" & path
and I can't understand why. I'm checking isobject. Can anyone explain what the runtime is complaining about, and why?
When there is no more parent nodes, you will get a null value back, i.e. Nothing. However, Nothing is the "null object", so it's also an object. The value of IsObject(Nothing) is True.
Check for Nothing instead of checking if the variable contains an object:
while not (parent is Nothing)
I'm not 100% sure, but maybe you should use something with/instead if IsObject? I suggest to try IsEmpty(), IsNull() or Is Nothing. The latter is used like this:
If Not (myObject Is Nothing)
加载中,请稍侯......
精彩评论