Ok, I got it working... for a bit.

Apparently the problem was due to the fact that the implementation
(celClientNetworkLayer) was attempting to register a callback by
casting itself to an iCelTimerListener, even thought it didn't inherit
from iCelTimerListener. (celPcCommon had taken care of that
previously, but when I decided to not make it a property class, I
didn't notice that part)

My next task was to change the application from loading it on startup
with RequestPlugins() to loading it later in a function. To do this, I
used the following code:

nlclient = csLoadPlugin<iClientNetworkLayer> (plugmgr,
"cel.networklayer.client");

which works fine. (iClientNetworkLayer is a new subclass of
iNetworkLayer that I created to take care of client-side
functionality) The problem comes when I try to get the iNetworkLayer
interface from within another module:

netlayer = csQueryRegistry<iNetworkLayer> (object_reg);

This returns NULL when I run it. Am I doing something wrong here? When
loading with csLoadPlugin, is there something special I need to do to
get the plugin's interfaces into the object registry?

TIA,
Dave


On 3/15/06, David Bronke <[EMAIL PROTECTED]> wrote:
> oh, sorry... csQueryRegistry<>()
>
> On 3/15/06, Andrew Mann <[EMAIL PROTECTED]> wrote:
> >         I don't think csQueryInterface<>() exists. Did you mean
> > csQueryRegistry<iNetworkLayer> (object_reg) or
> > scfQueryInterface<iNetworkLayer> (object_reg) ?
> >
> > Rhad/Andrew
> >
> > David Bronke wrote:
> > > I've built a custom plugin around an interface I wrote, and I got the
> > > plugin to load with no errors or warnings, but when you try to query
> > > the interface from it, (csQueryInterface<iNetworkLayer> (object_reg))
> > > it gives the following error:
> > >
> > > WARNING! Suspicious: object with tag 'iNetworkLayer' does not
> > > implement interface 'iNetworkLayer'!
> > >
> > > and then returns NULL. I have been in the CS IRC channel a number of
> > > times and have had thebolt look over my code, which seems to be
> > > kosher... i've done jam distclean on CS, CEL, and my app, checked
> > > against the CSEP and against other plugin examples in CS, and run our
> > > app with -verbose to try to diagnose the problem, and I can't figure
> > > out what's going wrong. (i've even tried debugging it in gdb, but
> > > since the csQueryInterface is done in a constructor i can't get a
> > > breakpoint to trigger there)
> > >
> > > Here are links to the related source files in our SVN repository:
> > > iNetworkLayer (the custom interface):
> > > https://adidas.servegame.org/projects/precursors/browser/precursors/trunk/include/util/iNetworkLayer.h
> > > celClientNetworkLayer.h (the implementation header):
> > > https://adidas.servegame.org/projects/precursors/browser/precursors/trunk/plugins/network/celClientNetworkLayer/celClientNetworkLayer.h
> > > celClientNetworkLayer.cpp (the implementation source):
> > > https://adidas.servegame.org/projects/precursors/browser/precursors/trunk/plugins/network/celClientNetworkLayer/celClientNetworkLayer.cpp
> > > nlclient.csplugin:
> > > https://adidas.servegame.org/projects/precursors/browser/precursors/trunk/plugins/network/celClientNetworkLayer/nlclient.csplugin
> > >
> > > Precursors.cpp (our main application):
> > > https://adidas.servegame.org/projects/precursors/browser/precursors/trunk/src/Client/Precursors.cpp
> > >
> > > I'm really unsure of where to look next, so any help at all is welcome.
> > >
> > > TIA,
> > > Dave
> > >
> > > --
> > > Lead Programmer
> > > G33X Nexus Entertainment
> > > http://games.g33xnexus.com/precursors/
> > >
> > >
> > > -------------------------------------------------------
> > > This SF.Net email is sponsored by xPML, a groundbreaking scripting 
> > > language
> > > that extends applications into web and mobile media. Attend the live 
> > > webcast
> > > and join the prime developer group breaking into this new coding 
> > > territory!
> > > http://sel.as-us.falkag.net/sel?cmd_______________________________________________
> > > Crystal-main mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/crystal-main
> > > Unsubscribe: mailto:[EMAIL PROTECTED]
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> > that extends applications into web and mobile media. Attend the live webcast
> > and join the prime developer group breaking into this new coding territory!
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> > _______________________________________________
> > Crystal-main mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/crystal-main
> > Unsubscribe: mailto:[EMAIL PROTECTED]
> >
>
>
> --
> Lead Programmer
> G33X Nexus Entertainment
> http://games.g33xnexus.com/precursors/
>


--
Lead Programmer
G33X Nexus Entertainment
http://games.g33xnexus.com/precursors/


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: mailto:[EMAIL PROTECTED]

Reply via email to