M$的XMLDOM
在使用XMLDOM的时候,碰到一个问题
var
xmlCurChannel,xmlChannel : OleVariant;
i,j : Integer;
Begin
xmlChannel := CreateOleObject('Microsoft.XMLDOM');
xmlChannel.async := False;
bolReturn := xmlChannel.Load(somelocation);
For i := 0 To (xmlChannel.documentElement.childNodes.length - 1) do
Begin
xmlCurChannel := xmlChannel.documentElement.childNodes.Item(i);
//当调用item(i)的时候,出错,报“没有找到类对象“,经过测试,在Item(i)这级出问题的。
......
End;
而我在vb里面写了同样的测试代码也出现了同样的问题
即
xmlCurChannel = xmlChannel.documentElement.childNodes.Item(i)
出同样的错误
但是
Set xmlCurChannel = xmlChannel.documentElement.ChilNodes.Item(i)
就没事。虽然知道set在vb的含义是将对象赋给某个变量,但是delphi中还需要什么特别处理吗?
目前测试过几部机器,上面所说的情况都发生于ie5+win95/NT上面,而在win2000下面,delphi那段程序是没问题的,所以这个问题很迟才发现。按照正规idl的用法,在delphi里面的那段代码真得看不出有什么毛病。
在win2000系统里面,其中typelib中关于这个方法的定义如下
[id(00000000), propget, helpstring("collection of nodes")]
IXMLDOMNode* item([in] long index);
是节选自MSXML3.dll输出的。
很急,请各路高人指教。