【发布时间】:2013-08-03 19:51:32
【问题描述】:
我正在使用 IXLMDOMDocument 从流中加载 xml 文件
IXMLDOMDocument *pDomDoc = pDomDoc->load(vtHtmlSource, &vfSuccess);
加载流(包含 xml 内容)后,它会创建一个样式表以正确获取内容 ident。上述部分工作没有任何问题。我对此很确定,但在那之后,当 A 转换节点(样式表到 bstrRtf)时,如下所示 -
BSTR bstrRtf;
hr = pDomDoc->transformNode(m_pStyleSheetNode, &bstrRtf);
//on debugging we get m_pStyleSheetNode = 0x0000000002b77ba8 that means it is correct and stylesheet is created properly.
//but bstrRtf = 0xcccccccccccccccc <Bad Ptr> = CXX0030: Error: expression cannot be evaluated
//that means there is some problem here
if (hr) {
hr = HRESULT_FROM_WIN32(GetLastError()); //this hr surprisingly returns OK(hr = S_OK)
};
我不知道为什么或如何。它不应该这样做,因为在bstrRtf 我们有一个非常奇怪的值。我希望它会给出一些错误,但我不知道为什么会这样。
谁能解释bstrRtf = 0xcccccccccccccccc <Bad Ptr>是什么意思?什么时候有人会收到这种类型的错误? 0xcccccccccccccccc <Bad Ptr>是什么意思?
当我将其初始化为零时,调试时错误为instance->m_bstrRtf = 0x0000000000000000 <Bad Ptr>。并且不工作。但是为什么即使在这之后它仍然返回 S_OK 呢?
【问题讨论】:
标签: c++ xslt xml-parsing bstr ixmldomdocument