[webkit-dev] Managed C++ & Webkit

John Penman (jopenman) jopenman at cisco.com
Mon Oct 6 09:20:37 PDT 2008


  Thanks for the reply.  I have tried to follow the WinLauncher example
and am able to get it working without any problems.  But if I try to
move into a new project that uses managed c++ (using Windows.Forms),
this is where my problems arise.  Below is the full code I am trying to
run, and it will work up until the initWithFrame call.  But I have
tracked it down to actually failing on the CoCreateInstance call, even
though no error is produced.  Since the object does appear to be created
(it has a handle), but none of the members to WebView exist.


//pin_ptr<IWebView*> p = &gWebView;

void* pInterface;

hr = CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView,

if (FAILED(hr))

                goto exit;


gWebView = (IWebView*)pInterface;


gWebHost = new CPortalBrowserWebHost();


hr = gWebView->setFrameLoadDelegate(gWebHost);

if (FAILED(hr))

                goto exit;


HWND newHwnd = *(HWND *)&contentPanel->Handle;


hr = gWebView->setHostWindow((OLE_HANDLE) newHwnd);

if (FAILED(hr))

                goto exit;


RECT clientRect;

GetClientRect(newHwnd, &clientRect);

hr = gWebView->initWithFrame(clientRect, 0, 0);

if (FAILED(hr))

                goto exit;


static BSTR defaultURL = 0;


                defaultURL =





Thanks again.


From: Jason Hullinger [mailto:sshjason at gmail.com] 
Sent: Monday, October 06, 2008 11:13 AM
To: John Penman (jopenman)
Cc: webkit-dev at lists.webkit.org
Subject: Re: [webkit-dev] Managed C++ & Webkit


I think the thing you are missing is calling
gWebView->setFrameLoadDelegate. See WinLauncher for more details on that

Hope that helps at all. Are you trying to make this without a GUI? I've
personally had no luck with COM, althought I have had success with
Cocoa/OS X to some degree.

~/Jason Hullinger

On Mon, Oct 6, 2008 at 8:35 AM, John Penman (jopenman)
<jopenman at cisco.com> wrote:

Hi All,

  I am working on a project in VC 2005 in a managed environment.  I have
tracked down my issue of not getting WebKit working to this one function
call.  Has anyone had any experience getting it to work in a managed


pin_ptr<IWebView*> p = &gWebView;

hr = CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView, &p);


Ive also tried:


void* pInterface;

hr = CoCreateInstance(CLSID_WebView, 0, CLSCTX_ALL, IID_IWebView,


gWebView = (IWebView*)pInterface;


In both cases, the object gets created but does not get instantiated.
All members of the object are unknown.



webkit-dev mailing list
webkit-dev at lists.webkit.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20081006/3c20a8b3/attachment.html 

More information about the webkit-dev mailing list