nuovo documento TXML in Borland C ++ Builder
-
20-08-2019 - |
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
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 ))));
}