Как освободить интерфейс Com-объекта

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем berezh, 31 янв 2007.

Статус темы:
Закрыта.
  1. berezh

    berezh Гость

    Помогите разобратся в ошиибке. При компиляции у этого кода ошибок нет:

    #include "stdio.h"
    #include "comutil.h"
    #include "atlbase.h"
    #include <msxml.h>

    #import "msxml3.dll"
    using namespace MSXML2;

    void main()
    {
    CoInitialize(NULL);
    HRESULT hr;
    IXMLHTTPRequestPtr pIXMLHTTPRequest = NULL;
    _bstr_t bstrText;
    try
    {
    hr=pIXMLHTTPRequest.CreateInstance(_T("Msxml2.XMLHTTP.3.0"));
    SUCCEEDED(hr) ? 0 : throw hr;
    hr=pIXMLHTTPRequest->open(_T("GET"), _T("http://localhost/data.xml"), false);
    SUCCEEDED(hr) ? 0 : throw hr;
    hr=pIXMLHTTPRequest->send();
    SUCCEEDED(hr) ? 0 : throw hr;
    bstrText=pIXMLHTTPRequest->responseText;
    }
    catch (...)
    {
    printf("error...");
    }
    CoUninitialize();
    }

    после запуска выдает окно ошибки:

    Unhandled exception at 0x00411d75 in exam.exe: 0xC0000005: Access violation reading location 0x0095a2f0.

    После нажатия кнопки "Breack", указывает в файле comip.h на:

    void _Release() throw()
    {
    if (m_pInterface != NULL) {
    m_pInterface->Release();
    }
    }

    В чем ошибка? :angry:
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей