SOLVED - Passing CObject to OnUpdate - compiler error C2039 [modified]
-
I am trying to use CObject *pHint in CView OnUpdate. Here is my instantiation of CObject derived class: .... m_C_Parameters = new C_Parameters(); // CObject base class VERIFY(m_C_Parameters); m_C_Parameters->hello = 10; // set test variable m_CCCC_ParserDoc->UpdateAllViews(NULL,RED,m_C_Parameters); .... Variable int hello is declared in C_Parameters(); Here is my OnUpdate override in CView dereived class: void C_List_View_::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { int test = pHint->hello; ....... However, the compiler gets me an error: error C2039: 'hello' : is not a member of 'CObject' f:\program files\microsoft visual studio\vc98\mfc\include\afx.h(666) : see declaration of 'CObject' What did I missed? Thanks for yor help. Vaclav
modified on Friday, May 16, 2008 1:01 PM
-
I am trying to use CObject *pHint in CView OnUpdate. Here is my instantiation of CObject derived class: .... m_C_Parameters = new C_Parameters(); // CObject base class VERIFY(m_C_Parameters); m_C_Parameters->hello = 10; // set test variable m_CCCC_ParserDoc->UpdateAllViews(NULL,RED,m_C_Parameters); .... Variable int hello is declared in C_Parameters(); Here is my OnUpdate override in CView dereived class: void C_List_View_::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { int test = pHint->hello; ....... However, the compiler gets me an error: error C2039: 'hello' : is not a member of 'CObject' f:\program files\microsoft visual studio\vc98\mfc\include\afx.h(666) : see declaration of 'CObject' What did I missed? Thanks for yor help. Vaclav
modified on Friday, May 16, 2008 1:01 PM
-
I am trying to use CObject *pHint in CView OnUpdate. Here is my instantiation of CObject derived class: .... m_C_Parameters = new C_Parameters(); // CObject base class VERIFY(m_C_Parameters); m_C_Parameters->hello = 10; // set test variable m_CCCC_ParserDoc->UpdateAllViews(NULL,RED,m_C_Parameters); .... Variable int hello is declared in C_Parameters(); Here is my OnUpdate override in CView dereived class: void C_List_View_::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { int test = pHint->hello; ....... However, the compiler gets me an error: error C2039: 'hello' : is not a member of 'CObject' f:\program files\microsoft visual studio\vc98\mfc\include\afx.h(666) : see declaration of 'CObject' What did I missed? Thanks for yor help. Vaclav
modified on Friday, May 16, 2008 1:01 PM
You forgot to cast pHint to your derived class.
C_Parameters *pParameters = (C_Parameters*)pHint;
int test = pParameters->hello;Kelly Herald Software Developer
-
You need to cast
pHint
toC_Parameters*
before you can callhello
on it.Henry David Thoreau wrote:
Beware of all enterprises that require new clothes.
Dang, Michael, you beat me to the answer by a minute. :)
Kelly Herald Software Developer
-
You forgot to cast pHint to your derived class.
C_Parameters *pParameters = (C_Parameters*)pHint;
int test = pParameters->hello;Kelly Herald Software Developer