новый TXMLDocument в Borland C ++ Builder - PullRequest
       48

новый TXMLDocument в Borland C ++ Builder

1 голос
/ 08 декабря 2008

Могу ли я самостоятельно создать и уничтожить TXMLDocument в Borland C ++ Builder? Я пытался, но Borland постоянно говорит мне, что TXMLDocument является (и должен быть) управляемым компонентом IDE.

Кроме того, единственная причина, по которой я хочу это сделать, заключается в том, что происходит сбой TXMLDocument: я получаю TXMLDocument и «получаю» из него рабочую книгу, задаю некоторые свойства документа (xml сохраняется в виде файла Excel позже) И я добавляю некоторые стили. Хорошо, тогда я добавляю лист, а затем все нужные ячейки с правильным форматированием и затем сохраняю его. На данный момент все в порядке.

Тогда я хочу сохранить другой Excel-файл. Поскольку среда IDE не позволяет мне удалять и воссоздавать TXMLDocument, я пытаюсь удалить только форму листа. Когда я пытаюсь это сделать (в режиме отладки), среда IDE переходит в режим шага строки на вкладке ЦП (с отображением некоторого ассемблера):

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

Ответы [ 2 ]

2 голосов
/ 08 декабря 2008

Вам нужно сделать что-то вроде этого:

_di_IXMLDocument Doc = NewXMLDocument(); 

Я не могу вспомнить ужасные подробности того, почему, но это должно указать вам правильное направление.

Больше информации на сайте Codegear здесь .

0 голосов
/ 15 сентября 2009

Попробуйте это:

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