为什么得不到IHTMLElement接口指针?!急。。。谢谢

aling100 2005-03-23 11:21:46
IHTMLElement * pElem = NULL;
//LPDISPATCH pDispatch;
IDispatch * pDispatch=NULL;
IHTMLDocument2 * pDoc=NULL;
IHTMLElementCollection * pAllElem = NULL;
VARIANT name;
BSTR tag; //for Element's tagName
// long p; //for IHTMLElementCollection's item number
pDispatch=m_webbrowser.GetDocument();
ASSERT(pDispatch);

HRESULT hr=pDispatch->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc);
pDoc->get_all(&pAllElem);

ASSERT(pAllElem);
if(pAllElem!=NULL)
{
AfxMessageBox("gethere1");
for(int i=0;i<100;i++)//遍历所有元素
{
name.lVal = i;
pAllElem->item(name,name,(IDispatch**)&pElem);//获取元素对象指针
ASSERT(pElem);///////////////////////运行出错!!!!!!!!!!!!!
pElem->get_tagName(&tag);//获取tagName
CString ss(tag); //转化成CString
//if(ss.CompareNoCase("table") ==0)//比较是否为table
AfxMessageBox(ss); //在对话框中显示tagName
::SysFreeString(tag);
}
}
大家帮忙啊!!
...全文
189 点赞 收藏 3
写回复
3 条回复
firmbird 2005年03月23日
for(int i=0;i<100;i++)//遍历所有元素
你已经确定有100个元素?
回复 点赞
roger_ding 2005年03月23日
加上 name.vt = VT_I4;
注意pElem需要Release
回复 点赞
发动态
发帖子
HTML/XML
创建于2007-09-28

2557

社区成员

8071

社区内容

VC/MFC HTML/XML
社区公告
暂无公告