Загрузка и сохранение через IXMLDOMDocument
От: TriDeMAX  
Дата: 18.10.05 14:19
Оценка:
Странная проблема — load() и save() в IXMLDOMDocument не работает с файлами на диске.
И если load() еще пережить можно (читаем, конвертируем в WCHAR и скармливаем в loadXML()), то вот без save() — никак .

Причем при вызове данных методов внутри возникает исключение:
First-chance exception at 0x77e738b2 in XXX.exe: 0xE0000001: 0xe0000001.

Кто-нибудь сталкивался с такой проблемой?

Код сохранения, на всякий случай:
void eXMLDoc::Save(const char* pszFileName) const
{
    VARIANT vbstr;
    VariantInit(&vbstr);
    V_BSTR(&vbstr) = eString::ConvertToBSTR(pszFileName);
    V_VT(&vbstr) = VT_BSTR;

    HRESULT hr = m_pICOMDoc->save(vbstr);
    e_assert(SUCCEEDED(hr));
}
Re: Загрузка и сохранение через IXMLDOMDocument
От: TriDeMAX  
Дата: 18.10.05 14:43
Оценка:
Гм, называется — хрен угадаешь...
Смысл ошибки в том, что в функции в качестве параметра строки можно подавать только строки по адресам, выделенным при помощи функций SysAllocString*().

Т.е. это работает на ура:
void eXMLDoc::Save(const char* pszFileName) const
{
    VARIANT vbstr;
    VariantInit(&vbstr);
    V_BSTR(&vbstr) = SysAllocString(L"JustTest.xml");
    V_VT(&vbstr) = VT_BSTR;

    HRESULT hr = m_pICOMDoc->save(vbstr);
    e_assert(SUCCEEDED(hr));


Сорри за дурацкий вопрос...
Re[2]: Загрузка и сохранение через IXMLDOMDocument
От: ssm Россия  
Дата: 28.10.05 09:37
Оценка:
Здравствуйте, TriDeMAX, Вы писали:

TDM>Смысл ошибки в том, что в функции в качестве параметра строки можно подавать только строки по адресам, выделенным при помощи функций SysAllocString*().


смысл в том, что нужно пользоваться обертками над BSTR : _bstr_, CComBSTR и не парить себе мозги
Re[3]: Загрузка и сохранение через IXMLDOMDocument
От: Аноним  
Дата: 28.10.05 13:49
Оценка:
ssm>смысл в том, что нужно пользоваться обертками над BSTR : _bstr_, CComBSTR и не парить себе мозги

угу. только сначала нужно подключить к проекту миллион хидеров и столкнуться с некомпиляцией проекта, который в разработке уже 3 года


сейчас уже поздно...
Re[4]: Загрузка и сохранение через IXMLDOMDocument
От: ssm Россия  
Дата: 28.10.05 13:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>угу. только сначала нужно подключить к проекту миллион хидеров и столкнуться с некомпиляцией проекта, который в разработке уже 3 года

А>


если используется import то все уже подключено. если ATL, то atlcomcli.h помоему
tckb
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.