Domanda

È possibile per me creare e distruggere un documento TXML da solo in Borland C ++ Builder? Ho provato ma Borland continua a dirmi che TXMLDocument è (e deve essere) un componente gestito IDE.

Inoltre, l'unico motivo per cui voglio fare questo è che TXMLDocument si arresta in modo anomalo: ottengo TXMLDocument e 'Ottiene' una cartella di lavoro da esso, imposta alcune proprietà del documento (l'xml viene salvato come file Excel in seguito) e aggiungo alcuni stili. Ok, quindi aggiungo un foglio di lavoro e quindi tutte le celle che voglio con una formattazione corretta e quindi lo salvo. A questo punto è tutto a posto.

Quindi voglio salvare un altro file Excel. Poiché l'IDE non mi consente di eliminare e ricreare il documento TXML, provo a eliminare solo il foglio di lavoro. Quando provo questo (in modalità debug) l'IDE passa alla modalità passo-linea nella scheda CPU (mostrando un assemblatore):

ntdll.DbgBreakPoint:
77A07DFE CC               int 3
77A07DFF C3               ret
È stato utile?

Soluzione

Devi invece fare qualcosa del genere:

_di_IXMLDocument Doc = NewXMLDocument(); 

Non ricordo i dettagli cruenti del perché, ma ciò dovrebbe indirizzarti nella giusta direzione.

Ulteriori informazioni sul sito Web di Codegear qui .

Altri suggerimenti

Prova questo:

#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 ))));
  }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top