Every change, I copy any new dll and xpt files over to the ff components 
directory, and delete the xpti and compreg dat files from my profile directory. 
If there are any other cache files that need to be deleted, please enlighten 
me. 
 
I didn't have this sort of problem when creating the js -> C++ portion of my 
XPCOM object; nevertheless I just generated a new GUID for the offending 
interface, and I'm getting the same behavior.
 
Yes, I have no doubt that, with a debug build of the browser, I'd fairly 
quickly solve the problem. However, last week as I was starting this project, I 
tried to build FF. I ran into problems right from the start: After installing 
cygwin and diddling my environment variables per instructions, running the 
makefile that was supposed to check out the latest code displayed all sorts of 
sed errors, then gacked. Since it wasn't obvious I actually needed to build the 
browser just to write an extension, and it looked like it was going to be a 
project all on its own, I gave up. If there is an easier method to building 
this puppy, again, please enlighten me.
 
-Paul
 

________________________________

From: [EMAIL PROTECTED] on behalf of John Bandhauer
Sent: Mon 12/4/2006 8:18 PM
To: [email protected]
Subject: Re: XPCOM cpp to js callback



FWIW, nothing in your code jumped out at me as being particularly wrong.

I would suggest that you confirm that there are no stale descriptions
of the interface on your system; e.g. previous attempts at the
interface using different UUIDs or names or method signatures. If the
typelib loader finds an xpt file that is not in sync with the idl that
is compiled into your component then odd things can happen. Also, make
sure your UUIDs are unique and not used by some other interface. These
are the sorts of problems that can come up as code evolves during
development. It is worth being sure that this is not what is going on
here.

The only other idea that comes to mind right now is something that may
not be very attractive to you as a component developer. But, if *I*
was trying to solve this problem then I'd use a debug build of the
browser and then trace into the call that your C++ component makes. It
*should* get into nsXPCWrappedJSClass::CallMethod. And from there lots
of fun stuff might happen.

Other than that, I don't know what to tell you. The general thing it
sounds like you are trying to do certainly works elsewhere. Perhaps
there is some subtle thing wrong with your code or your 'setup' that
is not obvious from here. Either figure out a way to debug it or
experiment with variations that might give you a clue to what thing
you might be doing wrong.

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


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

Reply via email to