2010-12-02 120 views
1

我在將我的應用程序的Microsoft XML核心從msxml3.dll升級到msxml6.dll時遇到問題。我chnaged vcproj和我的頭文件指向msxml6頭和庫文件。我還更改了msxml6的類ID,以使用CoCreateVariant()函數創建文檔瀏覽器。升級到MsXml6.dll

在執行過程中,我發現我的應用程序拋出了異常處理並中止。然後,我用Visual Studio進行調試,發現getElementByTagName()函數在使用msxml6.dll庫時會返回一個空指針,這會導致中止進一步的引用,並且它與msxml3.dll一起工作正常。

有人知道爲什麼這個「未處理的異常」是由於msxml6.dll嗎?我該如何解決它?

回答

0

你可以仔細檢查元素是否有命名空間?可能這是因爲MSXML3和MSXML6在命名空間方面更符合MSXML6之間的行爲變化。要解決此問題,您可能需要使用XPath。

+0

謝謝塞繆爾。是的你是正確的我正在將msxml3.dll升級到msxml6.dll。我擁有的應用程序完全是用C++編寫的。由於我在msxml3.dll中發現了更多的內存泄漏,我最好將其升級到msxml6.dll。你能否詳細說明如何使用Xpath來修復這個錯誤? – Santhosh77 2010-12-03 03:59:18