regxpcom only does autoreg on things made to be autoreg'd.
RegisterComponentLib is used in 'old' ways. Note the params it
takes - esp note that the persist flag is fals in most uses.
JohnSmith wrote:
>
> After more investigations it looks like all the previous errors were due to
> not registering the components. I was under the impression that once i run
> regxpcom i did not needed RegisterComponentLib for every component i am
> going to use ! This does not make sense of course (at least to me). I solved
> that problem by reusing the NS_SetupRegistry() function. I am now at a stage
> where i need to register the preference component/service. it is breaking at
> :
>
> debug_RegisterPrefCallbacks() line 971 + 39 bytes
> (widget/src/xpwidgets/nsBaseWidget.cpp)
>
> I will be glad if someone provided:
> urgent:
> 1) who implements nsIPref ? which dll/xpt should i put under components. if
> it is handled by the main dll's how do i register it. Even if you have no
> time tell where nsIPref is registered.
xppref32.dll ?
>
> nice to have
> 1) a list of dependencies between components
good luck :)
> 2) a list of which dll implements which interface. (dy dll name and/or
> Interface name )
sometimes you have to use lxr to find the dir the code is in and
then look in the makefile in that dir to figure out which dll it
ends up in.
> 3) a static access to the class CID by GetCID() just like the IID
> counterpart. So that i can get rid of all that NS_DEFINE_IID
You should use contractIDs strings whereever possible rather than
cids.
> 4) someone explain to me why i have to register a component twice . one with
> regxpcom and one with RegisterComponentLib. Is that supposed to change in
> the future ?
The more we move top using the newer nsIModule and
autoregistration the better.
John.
>
> That is enough for today ... it is already too late !
>
> FYI i am using m18 !