Paul wrote:
> Paul wrote:
> > Hi,
> >
> > I'm trying to embed Mozilla (downloaded and built from the CVS main
> > trunk as of late December) on Window, following the guidelines on the
> > embedding site. Everything works up to the point where my application
> > invokes the nsIBaseWindow::create() method. This method fails. I have
> > stepped into the method and it fails at the point where it tries to
> > create its mInternalWidget, i.e., it cannot create the widget., i.e.,
> > the following line fails:
> >
> >      // Create the widget
> >       NS_ENSURE_TRUE(mInternalWidget = do_CreateInstance(kChildCID),
> > NS_ERROR_FAILURE);
> >
> > Stepping into the do_CreateInstance method, it appears that it fails
> > because the component manager is unable to find a factory for creating
> > an NS_CHILD_CID object.
> >
> > Ideas?
>
> I dug around in the Mozilla source code and it appears that NS_CHILD_ID
> is part of Mozilla's OS-dependent window creation infrastructure and
> there is a file, nsWinWidgetFactory.cpp, that defines factories for
> creating child windows on Microsoft Windows, which I am using. I would
> assume that the appropriate factories would be registered automatically
> in the embedding API. But this does not appear to be the case in my
> instance.
>
> I modified my app to dum  the CIDs registered after invoking
> NS_InitEmbedding and none of the widget creation CIDs appear. So it
> appears that the widget creation factories are not registered.
>
> I would appreciate any suggestions on how to resolve this issue.
>
> Paul

I found the answer to my problem. It was to copy rgxpcom.exe and the
missing thebes.dll into the root of the embed directory and run
rgxpcom.exe.

Paul

_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to