2008-12-08 169 views
1

我可以在Borland C++ Builder中自己創建和銷燬TXMLDocument嗎?我試過了,但borland一直告訴我TXMLDocument是(並且必須是)一個IDE管理的組件。Borland C++ Builder中的新TXMLDocument

此外,我想要做到這一點的唯一原因是,TXMLDocument的崩潰類型:我得到TXMLDocument並從中獲取工作簿,設置一些文檔屬性(xml稍後保存爲Excel文件),並添加了一些樣式。好吧,然後我添加一個工作表,然後添加所需的格式正確的單元格,然後保存它。此時一切正常。

然後我想保存另一個Excel文件。由於IDE不允許我刪除並重新創建TXMLDocument,因此我嘗試刪除工作表格。當我嘗試這(在調試模式)的IDE進去在CPU選項卡行步模式(呈現出一些彙編):

ntdll.DbgBreakPoint: 
77A07DFE CC    int 3 
77A07DFF C3    ret 

回答

2

你需要做這樣的事情,而不是:

_di_IXMLDocument Doc = NewXMLDocument(); 

我不記得爲什麼的血淋淋的細節,但這應該指向正確的方向。

有關Codegear網站here的更多信息。

+0

Oookay ...不太清楚我將與_di_IXMLDocument做......這似乎是從TXMLDocument的完全是另外一個類型的對象? – c0m4 2008-12-08 15:49:43

0

試試這個:

#include <oxmldom.hpp> 
#include <XMLDoc.hpp> 
#include <xmldom.hpp> 
#include <XMLIntf.hpp> 


    try 
    { 
    CoInitialize(0); 
    _di_IXMLDocument xmlDoc; 
    xmlDoc = LoadXMLData(s1); 
    s1 = xmlDoc->XML->Text; 
    CoUninitialize(); 
    mylog(Fun + String::Format("ANSW-MSG-XML %s ", ARRAYOFCONST((s1)))); 
    } 
    catch (Exception & ex) 
    { 
    mylog(Fun + String::Format("PARSEXML:ERRORE %s \nmsg:%s", 
     ARRAYOFCONST((ex.Message, cmdMsg)))); 
    } 
相關問題