Why does this ASSERT_ISKINDOF macro fail? 
Author Message
 Why does this ASSERT_ISKINDOF macro fail?

I have a class called CWizard derived from CPropertySheet. CWizard
implements some basic functionality that I use in all my Wizards so I made
it a reusable class. In my application, I have a CEventWizard derived from
CWizard.

If I am in the CEventWizard constructor and do:

ASSERT_KINDOF(CPropertySheet, this)

the assertion fails on OBJCORE.CPP CRuntimeClass::IsDerivedFrom where it
trys to access the m_pfnGetBaseClass pointer.

If I do:

ASSERT_KINDOF(CWizard, this)

then everything is fine. Why cant MFC go one level further. This USED to
work, but I am now upgrading everything and it no longer works.

CWizard uses the DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC macros.

Some additional info is that CWizard lives in an Extension DLL that exports
everything by ordinal.

Gil Rosin



Sat, 24 Jun 2000 03:00:00 GMT  
 Why does this ASSERT_ISKINDOF macro fail?

While in the constructor, the vtable for "this" has not yet initialized.
However, the vtables for the base class(es) are.



Mon, 26 Jun 2000 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Why CreateObject() fails in DevStudio Macro?

2. Why CreateObject() fails in DevStudio Macro?

3. Why is it doing this?

4. Why does doing this break my program?

5. Why are most HPC done in Fortran?

6. Why are most HPC done

7. C array syntax proposal (was: Why are most HPC done)

8. Why is curses doing this????

9. ATL macro failing to compile

10. CoCreateInstance fails with __uuidof macro (class not registered)

11. Macro with functions problem -- why am I stupid?

12. Why macros

 

 
Powered by phpBB® Forum Software