Benjamin Smedberg wrote:
Thanks Benjamin. To be clear, are you suggesting that I define the
interface and implement the functionality inside an extension
(XUL-type stuff), as opposed to inside a dll?
No, I'm suggesting that you put your component dll in an extension,
instead of trying to manually install it. And, in case it's not clear,
interfaces are declared using an .xpt file generated by the "xpidl" tool
from an .idl file.
I understand.
By the way, I just finished reading this sentence from
http://www.mozilla.org/projects/xpcom/book/cxc/html/component_internals2.html:
"regxpcom registers your component in the default component registry."
That is quite old and is no longer accurate.
--BDS
By the way, for anyone who's interested, I discovered that a component
can be registered outside of %install%\components by using regxpcom with
the -c flag, something like "regxpcom -c
c:\...\profiles\blah.default\compreg.dat MyComponent.dll".
That being said, I think I'm going to investigate other install routes
because I just can't seem to get around a quirk...I have yet to find a
way for my extension (XUL) to create an instance of the component upon
the 1st startup of Firefox after the file copies/registration, even
though regxpcom output says the component registration was successful.
I copy the files (manifests, dll, type libs), register the component,
touch .autoreg, blah, blah, blah, start Firefox, and then the dll gets
loaded (I set a breakpoint in DllMain...so seems like XPCOM recognizes
the component), but the XUL Javascript can't create an instance of the
component. If I then restart Firefox, the dll gets loaded, but this
time, the XUL Javascript successfully creates a component instance and
makes calls into the component interfaces.
Roy
_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom