HELP!!! swt + mozilla
jml <[email protected]> Tue, 17 Dec 2002 16:58:23 +0800
| Newsgroups | gmane.comp.mozilla.devel.java,gmane.comp.mozilla.devel.embedding,gmane.comp.mozilla.devel.xpcom |
|---|---|
| Organization | Another Netscape Collabra Server User |
| Message-ID | <[email protected]> |
Hi, Mozilla community, please help! I think maybe the group is not very active, or just want to ignore my newbie questions, I didn't receive response I posted yesterday. Here, let me explain my situation. I am a Java programmer (I think pretty good java programmer). Understand COM quite well, though not doing C/C++ coding for that. I program in Windows, do not have any experience in GTK and other unix GUI toolkit. Now I am trying to do something as embed mozilla in swt for the windows platform. SWT is an IBM widget toolkit for Java, I see someone discuss about it on the maillist before about it. It use native widget and wrap it in java. Also, SWT provide a lot of native methods that doing OS call and memory copy between Java and the native system. Also, swt for windows also provide COM/OLE support, it provides a very easy way for using COM/OLE object and implement COM/OLE object in Java. This seem to me a very good candidate to embed Mozilla in Java. So I begin trying, and got a lot of questions (don't forget I am newbie in mozilla :-) 1. Is XPCOM binary compatible with COM/OLE? In swt, it use vtbl to call COM/OLE methods. I want to just use that provided by swt, then I needn't write my native code. 2. what is the "string"/"wstring"/"domstring" mean in XPCOM? What is the binary format of each of them? Since I need to package the java String into a memory buffer then pass the pointer of the buffer to XPCOM methods, so I need to know the format for this buffer. 3. Is there anything similiar to IDispatch? How I do dynamically get property and call methods? 4. How does nsIComponentRegistrar.enumeratoeContractID work? What will the nsISimpleEnumerator.getNext() return then? It seemed in mozilla, the documentation is too little. 5. How I make the webbrowser component to be registered? I did soemthing be able to call NS_InitXPCOM2, NS_GetComponentManager, then when I try to createInstanceByContractID(), I get NS_ERROR_FACTORY_NOT_REGISTERED. I don't know how to register it. I am using the "c:/mozilla" directory as the working directory, and pass NULL to the NS_InitXPCOM2() method. I also tried to call NS_GetComponentRegistrar.autoRegister(NULL), but still fail. Thanks in advance. jml