Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблема с IHTMLDocument


Автор: merz 12.11.2002, 02:56
CoInitialize(NULL);

IHTMLDocument2* pDoc = NULL;
HRESULT hr;
IClassFactory* pCF = NULL;

hr = CoGetClassObject(CLSID_HTMLDocument, CLSCTX_INPROC_SERVER, NULL,
IID_IClassFactory, (void**)&pCF);
if (S_OK == hr)
{
IUnknown * pUnk = NULL;
hr = pCF->CreateInstance(NULL, IID_IUnknown, (void**)& pUnk);
hr = pUnk->QueryInterface(IID_IHTMLDocument2, (void**)&pDoc);

//hr = pCF->CreateInstance(NULL, IID_IHTMLDocument2, (void**)&pDoc);
if (S_OK == hr)
{
IHTMLLocationPtr pLoc = NULL;
hr = pDoc->get_location(&pLoc);

//pDoc->put_URL(_bstr_t("http://sergi.ilab.ru/test.html"));
BSTR href;
pLoc->get_href(&href);


int size = SysStringLen(href);
char *buff = new char[size+1]; buff[size] = '\0';
WideCharToMultiByte(CP_ACP, NULL, href, -1, buff, size, NULL, NULL);
//AfxMessageBox(buff);
pLoc->replace(_bstr_t("http://sergi.ilab.ru/test.html"));
pLoc->Release();

pDoc->Release();
pUnk->Release();
} // CreateInstance
pCF->Release();
} // CoGetClassObject

CoUninitialize();

На строке pLoc->replace(... программа выпадает в даун.... если его заменить pLoc->refresh() - все ок!

В чем здесь может быть дело?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)