Does anyone have a sample C++ program that uses
"@mozilla.org/rdf/datasource;1?name=window-mediator". At this point I would
not even be that picky - any C++ program that successfully uses a standard
Netscape XPCOM component would be nice.

Does  "nsResult = NS_InitXPCOM2(nsnull, nsnull, nsnull);" have to supply the
directory to the Netscape components or does it 'know'? Also my version of
Netscape (6.2) xpcom.dll does not allow NS_InitXPCOM2() - I assumed this is
just a minor issue so I am using the xpcom.dll that came with mozilla.9.9.

//-nsLocalFile
     nsCOMPtr<nsILocalFile> componentPath=0;
     componentPath= do_CreateInstance(NS_LOCAL_FILE_CONTRACTID,&nsResult);

     const char *path = "C:\\Program Files\\Netscape\\Netscape 6";
// Where Netscape is installed
     nsResult = componentPath->InitWithPath(path);

     PRBool isDirectory;
     nsResult = componentPath->IsDirectory(&isDirectory);
     printf("%s ---<%s>--- a directory\n",path,isDirectory?"IS":"IS NOT");
// This works (is indeed a directory)

//-initXPCOM
     nsIServiceManager *serviceManager=0;
     nsResult = NS_InitXPCOM2(&serviceManager, componentPath, nsnull);
// This fails! ---> 0x80004005






Reply via email to