ボーランドC ++ Builderの新にTXMLDocument
-
20-08-2019 - |
質問
私が作成し、ボーランドC ++ Builderで自分でにTXMLDocumentを破壊するために、
それは可能ですか?私が試したが、ボーランドは、IDEがコンポーネントを管理するにTXMLDocumentがある(とでなければならない)ことを私に言って続けています。
また、私はこれをしたい唯一の理由は、クラッシュのようにTXMLDocumentの一種である:私はにTXMLDocumentを取得し、それからワークブック「を取得します」(XMLは、後のExcelファイルとして保存されます)いくつかのドキュメントプロパティを設定します、と私はいくつかのスタイルを追加します。 [OK]を、私はワークシートを追加して、私がしたいすべてのセル適切な形式で、その後、私はそれを保存します。この時点で、すべてがOKです。
そして、私は別のExcelファイルを保存します。 IDEは私がにTXMLDocumentを削除して再作成することはできませんので、私はちょうどワークシートは、それを形成し、削除してみてください。私はIDEは、CPUタブでラインステップモードになります(デバッグモードで)これをしようとすると(いくつかのアセンブラを示す):
ntdll.DbgBreakPoint:
77A07DFE CC int 3
77A07DFF C3 ret
解決
あなたが代わりにこのような何かをする必要があります:
_di_IXMLDocument Doc = NewXMLDocument();
私がなぜの血みどろの詳細は覚えていないことができますが、それは正しい方向にあなたを指している必要があります。
のCodeGearのWebサイトにあります詳細はここを。
他のヒント
これを試してください:
#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 ))));
}
所属していません StackOverflow