Click to See Complete Forum and Search --> : IWebBrowser, Streams and refresh


Anthony Anisimov
March 22nd, 2005, 03:15 PM
I have a code, that displays some data via memory stream in to IWebBrowser2, but after browser made a Refresh2(), or Refresh(), I have an empty window, for example, it's happends when user want to change a codepage of IHTMLDocument via usual popup menu or wher I call a Refresh() or Refresh2() methods. I think, that I must handle some message, or overload some method, but which of them? May be somebody know the way? :confused:
In the code: WB - instance of Borland wrapper on IWebBrowser2
Code:
TMemoryStream *stm = new TMemoryStream();
((TBlobField *)DM->MesHtm->FieldByName("CONTAINMENT"))->SaveToStream(stm);
IPersistStreamInit *psi;
stm->Seek(0,0);
TStreamAdapter *sa = new TStreamAdapter(stm,soReference);
if (!WB->Document)
WB->Navigate(Variant("about:blank"));
IHTMLDocument2 *Doc;
if (SUCCEEDED(WB->Document->QueryInterface(IID_IHTMLDocument2,(void **)&Doc)))
{
if (SUCCEEDED(Doc->QueryInterface(IID_IPersistStreamInit,(void **)&psi)))
{
psi->Load(*sa);
psi->Release();
}
Doc->Release();
}

delete stm;