The control supports IWebBrowser, IWebBrowserApp and IWebBrowser2. I have no idea what ILOG is, so I can't say if the code below is correct but in normal use you must instantiate the control in order to QI for those interfaces. It would be worth checking to ensure that the control is registered and is actually created. Also, if IlvGraphicCOMAdapter is some wrapper around the control then you must ensure you're querying the browser and not the wrapper with your call.

Adam

Paul Pedriana wrote:

I thought I read somewhere something aboutsupporting on IWebBrowser2.
I am totally shooting in the dark here and don't know what I'm talking
about, but since I don't see a lot of responses to questions here, I
thought I'd chime in.





Hi folks, hope I've got the right list...

I'm developing an application using C++, and I want to embed the mozilla
browser. I figured the easiest way to do this was to use COM and the
mozilla active X control developed by Adam Lock. I've come up with a simple
application to display slashdot in an ILOG Views dialog. ILOG uses a
special control view adapter to integrate COM components with it's GUI
toolkit. I have the following code:

/////////////// Begin Code ////////////////////////////
#include <SpyPanel.h>
#define FILENAME "SpyPanel.ilv"
#include <ilviews/base/sstream.h>
#include <ilviews/windows/comgint.h>
#include <ilviews/base/inter.h>

#import "D:\Program Files\Netscape\Netscape 6\mozctl.dll" no_namespace
named_guids

ILVSTDUSE

//
--------------------------------------------------------------------------
void
CSpyPanel::initialize()
{
readFile(FILENAME);

IWebBrowser* pInterface = 0;
IWebBrowserPtr browser;

IlvGraphicCOMAdapter* control = getspycontrol();

HRESULT errcode =
control->queryInterface(__uuidof(IWebBrowser),
(void**)&pInterface);
if(errcode == S_OK)
{
browser->Navigate("http://slashdot.org";);
}
}

//////////// End Code /////////////////////////////////////

In this case I get the error code 0x80004002, which corresponds to the
error message

"No such interface supported".

What am I doing wrong here?

Cheers and TIA,

Oli White





Reply via email to