даже еще проще:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "uidn.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfmIdent *fmIdent;
//---------------------------------------------------------------------------
__fastcall TfmIdent::TfmIdent(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfmIdent::loadOpt()
{
short Ok;
char* P1 = "x";
IXMLDOMDocument* xOpt;
CoCreateInstance (CLSID_DOMDocument, NULL,
CLSCTX_INPROC_SERVER, IID_IXMLDOMDocument, (void**) &xOpt);
VARIANT v;
v.vt = VT_BSTR;
v.bstrVal = L"x.xml";
xOpt->load(v, &Ok);
xOpt->Release();
}
//---------------------------------------------------------------------------
void __fastcall TfmIdent::FormShow(TObject *Sender)
{
loadOpt();
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#ifndef uidnH
#define uidnH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <Forms.hpp>
#include <msxml.h>
//---------------------------------------------------------------------------
class TfmIdent : public TForm
{
__published: // IDE-managed Components
void __fastcall FormShow(TObject *Sender);
private:
void __fastcall loadOpt();
public:
__fastcall TfmIdent(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfmIdent *fmIdent;
//---------------------------------------------------------------------------
#endif
как я понял, глючит из-за
char* P1 = "x";
, причем если длина строки четная, то все OK