BI_NOINCLUDE_NS_OWL vs. notification-macros

Dirk
2009-09-12
2012-09-25
  • Dirk

    Dirk - 2009-09-12

    At first I like to thank all active mebers for their great job - OWL(Next) is
    alive!

    We converted our main projects from BC5.02 to Visual Studio 2005. To get a
    better seperation between OWL and VC classes we decided to declare the
    BI_NOINCLUDE_NS_OWL. This works fine for all macros defined in windowev.h.

    for example: 'EV_CHILD_NOTIFY'

    define EV_CHILD_NOTIFY(id, notifyCode, method)\

    {{notifyCode}, id, (TAnyDispatcher)::v_Dispatch,\
    (TMyPMF)NS_OWL::v_Sig<TMyClass>(&TMyClass::method)}

    But all signals defined in Notify.H have a problem with the namespace.

    lets take a look at 'EV_NM_TL_RCLICK':

    define EV_NM_TL_RCLICK(id, method) \

    {NM_TL_RCLICK, id, (TAnyDispatcher)::v_LPARAM_Dispatch,\
    (TMyPMF)v_NM_TL_RClick_Sig(&TMyClass::method)}

    the compiler states error-messages for all responsetable macros defined in
    'notify.h'.

    The solution: Use the namespace Macro "NS_OWL"

    At first I like to thank all active mebers for their great job - OWL(Next) is
    alive!

    We converted our main projects from BC5.02 to Visual Studio 2005. To get a
    better seperation between OWL and VC classes we decided to declare the
    BI_NOINCLUDE_NS_OWL. This works fine for all macros defined in windowev.h.

    for example: 'EV_CHILD_NOTIFY'

    define EV_CHILD_NOTIFY(id, notifyCode, method)\

    {{notifyCode}, id, (TAnyDispatcher)::v_Dispatch,\
    (TMyPMF)NS_OWL::v_Sig<TMyClass>(&TMyClass::method)}

    But all signals defined in Notify.H have a problem with the namespace.

    lets take a look at 'EV_NM_TL_RCLICK':

    define EV_NM_TL_RCLICK(id, method) \

    {NM_TL_RCLICK, id, (TAnyDispatcher)::v_LPARAM_Dispatch,\
    (TMyPMF)v_NM_TL_RClick_Sig(&TMyClass::method)}

    the compiler states error-messages for all responsetable macros defined in
    'notify.h'.

    The solution: Use the namespace Macro "NS_OWL"

    define EV_NM_TL_RCLICK(id, method) \

    {NM_TL_RCLICK, id, (TAnyDispatcher)::v_LPARAM_Dispatch,\
    (TMyPMF)NS_OWL::v_NM_TL_RClick_Sig(&TMyClass::method)}

    => check "NS_OWL::" in the last line!

    I think it would be great to have this fixed in one of the next releases.

    Thanks,
    Dirk

     
  • Dirk

    Dirk - 2009-09-12

    Sorry guys,

    it seems that someone made a commit of a private file into our 'vendor branch'
    of OWLNext. The mentioned file 'notify.h' is a private file from our project.

    I made the suggested changes (and removed the file from the vendor branch).

    Sorry again - and thanks for your great work!

    Dirk

     
  • Vidar Hasfjord

    Vidar Hasfjord - 2009-09-12

    Hi Dirk, thanks for the feedback. Good to know that it works as intended.

     


Anonymous

Cancel  Add attachments





Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks