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
