代码之家  ›  专栏  ›  技术社区  ›  c0m4

Borland C++ Builder中的新TXML文档

  •  1
  • c0m4  · 技术社区  · 16 年前

    我是否可以在Borland C++ Builder中创建和销毁一个TXMLDATA文档?我已经尝试过了,但是Borland一直告诉我TxmlDocument是(而且必须是)一个IDE管理的组件。

    另外,我想这样做的唯一原因是txmldocument有点崩溃:我获取txmldocument并从中“获取”工作簿,设置一些文档属性(XML稍后保存为Excel文件),然后添加一些样式。好的,然后我添加一个工作表,然后用适当的格式添加所有我想要的单元格,然后保存它。此时一切正常。

    然后我想保存另一个Excel文件。由于IDE不允许我删除和重新创建TxmlDocument,所以我尝试只删除它的工作表。当我尝试这个(在调试模式下)时,IDE进入CPU选项卡中的行步骤模式(显示一些汇编程序):

    ntdll.DbgBreakPoint:
    77A07DFE CC               int 3
    77A07DFF C3               ret
    
    2 回复  |  直到 16 年前
        1
  •  2
  •   Roddy    16 年前

    您需要这样做:

    _di_IXMLDocument Doc = NewXMLDocument(); 
    

    我记不清为什么会有这么多血淋淋的细节,但这应该能为你指明正确的方向。

    codegear网站上有更多信息 here .

        2
  •  0
  •   enzo1959    15 年前

    试试这个:

    #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 ))));
      }