Я использую IXLMDOMDocument, чтобы загрузить XML-файл из потока с помощьюBSTR bstrRtf = 0xcccccccccccccccc <Bad Ptr> отладки (= CXX0030: Ошибка: выражение не может быть оценено)
IXMLDOMDocument *pDomDoc = pDomDoc->load(vtHtmlSource, &vfSuccess);
После загрузки потока (содержащего XML содержимое) создает таблицу стилей, чтобы получить содержимое ident
должным образом. Вышеупомянутая часть работает без проблем. Я уверен, что, но после этого, когда Спектрально узел (таблицы стилей в к 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 даже после этого ??
, поэтому вы имеете в виду, что мне просто нужно его инициализировать ?? – Sss
, когда я инициализирую его с нулевой ошибкой, экземпляр -> m_bstrRtf = 0x0000000000000000 при отладке. и не работает. но почему он возвращает S_OK даже после этого ?? –
Sss
Я не совсем уверен. В документации, по-видимому, подразумевается, что 'pDomDoc-> transformNode()' должен заполнить 'bstrRtf' с помощью выделения. Но тот факт, что он не меняется, указывает на то, что он не был изменен. –