English 中文(简体)
在Borland C++ Builder中创建新的TXMLDocument
原标题:
  • 时间:2008-12-08 15:03:09
  •  标签:

我能否在Borland C++ Builder中自己创建和销毁TXMLDocument?我已经尝试过,但Borland一直告诉我TXMLDocument是(并且必须是)IDE托管组件。

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

然后我想要保存另一个Excel文件。由于IDE不允许我删除并重新创建TXMLDocument,我尝试仅从中删除工作表。当我尝试这样做(在调试模式下)时,IDE会进入CPU选项卡的行步进模式(显示一些汇编代码)。

ntdll.DbgBreakPoint:
77A07DFE CC               int 3
77A07DFF C3               ret
最佳回答

你需要做类似这样的事情:

_di_IXMLDocument Doc = NewXMLDocument(); 

我记不得为什么会这样恶心,但这应该指引你朝正确的方向前进。

关于Codegear网站,这里有更多信息。

问题回答

请试试这个:

#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 
msg:%s",
      ARRAYOFCONST(( ex.Message, cmdMsg ))));
  }




相关问题
热门标签