604
社区成员
发帖
与我相关
我的任务
分享
delete psi;
delete stream;
Access violation at adress ... in module 'borlndmm.dat'. Read of address 00000000.
while (CppWebBrowser1->Busy)
Application->ProcessMessages();
IHTMLDocument *spDoc = NULL;
HRESULT hr = CppWebBrowser1->Document->QueryInterface(
::IID_IHTMLDocument2, (void **)&spDoc);
if (SUCCEEDED(hr))
{
// ...
// 获取成功的后续操作
// ...
// 最后释放一下
spDoc->Release();
}
BOOL __stdcall CrnSetHtmlContent(IHTMLDocument2 *spDoc, LPCTSTR lpText)
{
BOOL bResult(FALSE);
if (NULL == spDoc)
return bResult;
IStream *pStream;
IPersistStreamInit *psi;
int nLen = _tcslen(lpText);
HGLOBAL hHTMLText = ::GlobalAlloc(GPTR, nLen * sizeof(TCHAR) + 1);
if (NULL == hHTMLText)
return bResult;
::CopyMemory(hHTMLText, lpText, nLen * sizeof(TCHAR));
HRESULT hr = ::CreateStreamOnHGlobal(hHTMLText, true, &pStream);
if (SUCCEEDED(hr))
{
hr = spDoc->QueryInterface(IID_IPersistStreamInit, (void **)&psi);
if (SUCCEEDED(hr))
{
hr = psi->Load(pStream);
bResult = SUCCEEDED(hr);
psi->Release();
}
pStream->Release();
}
::GlobalFree(hHTMLText);
return bResult;
}