Hi,

The correct usage of declspec export/import has fixed several problems. We
have now been able to narrow another runtime problem we see.

We have a base class, ACE_Reactor_Impl, from that we have derived
ACE_Select_Reactor_Impl (all in the ACE library). In our code we do:

      this->select_reactor_ =
        dynamic_cast<ACE_Select_Reactor_Impl *> (r);

      if (select_reactor_ == 0)
        {
          errno = EINVAL;
          return -1;
        }

We now see that this->select_reactor_ is 0, so the dynamic cast fails.

When we print the typename or *r we get:
20ACE_Select_Reactor_TI19ACE_Reactor_Token_TI9ACE_TokenEE20ACE_Select_Reacto
r_TI19ACE_Reactor_Token_TI9ACE_TokenEE

ACE_Select_Reactor_T is a template derived from ACE_Select_Reactor_Impl. So,
we should be able to do a dynamic cast to AE_Select_Reactor_Impl. Could this
be a problem with rtti or again symbol exports?

Anyone an idea? 

Danny, the cast is in Select_Reactor_Base.cpp, line 614. Reproducable by
running tests/Reactor_Exception_Test

Johnny



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to