2008-12-08 166 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)))); 
    } 
相关问题