Pregunta

¿Puedo crear y destruir un documento TXML por mí mismo en Borland C ++ Builder? Lo he intentado, pero Borland sigue diciéndome que TXMLDocument es (y debe ser) un componente administrado por IDE.

Además, la única razón por la que quiero hacer esto es que TXMLDocument se bloquea: obtengo el TXMLDocument y 'Obtiene' un libro de trabajo, establece algunas propiedades del documento (el xml se guarda como un archivo Excel más adelante) , y añado algunos estilos. Ok, luego agrego una hoja de trabajo y luego todas las celdas que quiero con el formato adecuado y luego lo guardo. En este punto todo está bien.

Entonces quiero guardar otro archivo Excel. Como el IDE no me permite eliminar y volver a crear el documento TXML, trato de eliminar solo la hoja de trabajo. Cuando intento esto (en modo de depuración), el IDE pasa al modo de paso de línea en la pestaña CPU (que muestra un ensamblador):

ntdll.DbgBreakPoint:
77A07DFE CC               int 3
77A07DFF C3               ret
¿Fue útil?

Solución

Necesita hacer algo como esto en su lugar:

_di_IXMLDocument Doc = NewXMLDocument(); 

No puedo recordar los detalles sangrientos de por qué, pero eso debería apuntar en la dirección correcta.

Hay más información en el sitio web de Codegear aquí .

Otros consejos

Prueba esto:

#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 ))));
  }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top