From: shyam gupta on 6 May 2010 09:24 I have created a customzied CfileDialog dialog box by attaching a child dialog to it using the hook procedure (OFNHookProc (....) ). Now that child dialog also has a browse button that also uses CfileDialog to select another file. This is done in repsonse to the WM_COMMAND message. The creation of the modal dialog box is fine. It does all the operations for selecting the file but when I select the concerned file and press the open button then the application crashes and the control goes to objcore.cpp as shown below BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const { ASSERT(this != NULL); // it better be in valid memory, at least for CObject size ASSERT(AfxIsValidAddress(this, sizeof(CObject))); // simple SI case CRuntimeClass* pClassThis = GetRuntimeClass(); return pClassThis->IsDerivedFrom(pClass); } It is not able to ASSERT(this != NULL); statement and hence the application crashes. I am not able to figure out the exact cause of the error. Thanks, Shyam
From: Joseph M. Newcomer on 6 May 2010 17:15 The code you showed is fundamentally uninteristing. The callback on the stack would be far more useful, because it would tell us how you got to the failed condition. I woud suggest that you post the stack callback. joe On Thu, 6 May 2010 06:24:17 -0700 (PDT), shyam gupta <shyamguptadce(a)gmail.com> wrote: >I have created a customzied CfileDialog dialog box by attaching a >child dialog to it using the hook procedure (OFNHookProc (....) ). Now >that child dialog also has a browse button that also uses CfileDialog >to select another file. This is done in repsonse to the WM_COMMAND >message. The creation of the modal dialog box is fine. It does all >the operations for selecting the file but when I select the concerned >file and press the open button then the application crashes and the >control goes to objcore.cpp as shown below > >BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const >{ > ASSERT(this != NULL); > // it better be in valid memory, at least for CObject size > ASSERT(AfxIsValidAddress(this, sizeof(CObject))); > > // simple SI case > CRuntimeClass* pClassThis = GetRuntimeClass(); > return pClassThis->IsDerivedFrom(pClass); >} > >It is not able to ASSERT(this != NULL); statement and hence the >application crashes. > >I am not able to figure out the exact cause of the error. > >Thanks, >Shyam Joseph M. Newcomer [MVP] email: newcomer(a)flounder.com Web: http://www.flounder.com MVP Tips: http://www.flounder.com/mvp_tips.htm
From: shyam gupta on 7 May 2010 03:57 Here is the call stack. Plz let me know if u can spot any problem Thanks ========================================================== > mfc71ud.dll!_AfxCommDlgProc(HWND__ * hWnd=0x00040eae, unsigned int message=49265, unsigned int wParam=0, long lParam=28974056) Line 80 + 0x16 C++ user32.dll!77d48709() user32.dll!77d54ca6() user32.dll!77d70494() user32.dll!77d54af2() user32.dll!77d54d1c() user32.dll!77d48709() user32.dll!77d487eb() user32.dll!77d70494() user32.dll!77d4b368() user32.dll!77d70494() user32.dll!77d4b3b4() ntdll.dll!7c90e473() user32.dll!77d494e3() user32.dll!77d4c0de() user32.dll!77d4b7ab() comdlg32.dll!763b99d3() comdlg32.dll!763b7558() comdlg32.dll!763dc029() comdlg32.dll!763dd459() comdlg32.dll!763dd9e9() comdlg32.dll!763dda6a() shell32.dll!7caa18b3() shell32.dll!7caa9f33() shell32.dll!7ca49365() ntdll.dll!7c94b1be() ntdll.dll!7c94b1be() ntdll.dll!7c9261dc() ntdll.dll!7c926256() ntdll.dll!7c9261dc() ntdll.dll!7c926256() ntdll.dll!7c96e57f() ntdll.dll!7c926256() ntdll.dll!7c96f888() ntdll.dll!7c91ae19() ntdll.dll!7c91aa2b() ntdll.dll!7c9101db() ntdll.dll!7c96f86c() ntdll.dll!7c94bc5a() ntdll.dll!7c926256() ntdll.dll!7c96f86c() ntdll.dll!7c94bc5a() ntdll.dll!7c926256() user32.dll!77d70494() user32.dll!77d4b373() user32.dll!77d4b3b4() user32.dll!77d4b3c4() ntdll.dll!7c96f86c() ntdll.dll!7c94bc5a() ntdll.dll!7c926256() shell32.dll!7c9f1f1b() shell32.dll!7c9f1f1b() shell32.dll!7c9f1d8d() ntdll.dll!7c91005d() user32.dll!77d70494() ntdll.dll!7c926256() ntdll.dll!7c926045() ntdll.dll!7c91005d() ntdll.dll!7c9171c8() ntdll.dll!7c9101db() ntdll.dll!7c9170a8() ntdll.dll!7c916fc7() ntdll.dll!7c917126() kernel32.dll!7c80a671() shell32.dll!7c9f1e01() user32.dll!77d48709() user32.dll!77d487eb() user32.dll!77d70494() user32.dll!77d4b368() user32.dll!77d70494() user32.dll!77d4b3b4() ntdll.dll!7c90e473() user32.dll!77d494e3() user32.dll!77d4de6e() user32.dll!77d4b7ab() comctl32.dll!773eaf7b() user32.dll!77d484bc() user32.dll!77d4b8b6() user32.dll!77d4b813() comctl32.dll!7741ff1d() comctl32.dll!774202c2() comctl32.dll!77420cf5() user32.dll!77d4c034() ntdll.dll!7c917126() kernel32.dll!7c80a6ad() shell32.dll!7c9f1e38() shell32.dll!7c9f1e15() user32.dll!77d48709() user32.dll!77d48bb1() user32.dll!77d48832() user32.dll!77d487ff() user32.dll!77d48709() user32.dll!77d487eb() user32.dll!77d4ecd2() user32.dll!77d70494() user32.dll!77d489a5() user32.dll!77d553a0() user32.dll!77d70494() user32.dll!77d489e8() user32.dll!77d6e819() user32.dll!77d6e956() mfc71d.dll!COleControl::OnSetText(unsigned int wParam=1983578112, long lParam=428037072) Line 628 + 0x8 C++ user32.dll!77d568cc() user32.dll!77d625b3() comdlg32.dll!763b35de() comdlg32.dll!763b33e5() comdlg32.dll!763b33bc() user32.dll!77d48709() comdlg32.dll!763c7cc7() ========================================================== On May 7, 2:15 am, Joseph M. Newcomer <newco...(a)flounder.com> wrote: > The code you showed is fundamentally uninteristing. The callback on the stack would be > far more useful, because it would tell us how you got to the failed condition. > > I woud suggest that you post the stack callback. > joe > > > > On Thu, 6 May 2010 06:24:17 -0700 (PDT), shyam gupta <shyamgupta...(a)gmail..com> wrote: > >I have created a customzied CfileDialog dialog box by attaching a > >child dialog to it using the hook procedure (OFNHookProc (....) ). Now > >that child dialog also has a browse button that also uses CfileDialog > >to select another file. This is done in repsonse to the WM_COMMAND > >message. The creation of the modal dialog box is fine. It does all > >the operations for selecting the file but when I select the concerned > >file and press the open button then the application crashes and the > >control goes to objcore.cpp as shown below > > >BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const > >{ > > ASSERT(this != NULL); > > // it better be in valid memory, at least for CObject size > > ASSERT(AfxIsValidAddress(this, sizeof(CObject))); > > > // simple SI case > > CRuntimeClass* pClassThis = GetRuntimeClass(); > > return pClassThis->IsDerivedFrom(pClass); > >} > > >It is not able to ASSERT(this != NULL); statement and hence the > >application crashes. > > >I am not able to figure out the exact cause of the error. > > >Thanks, > >Shyam > > Joseph M. Newcomer [MVP] > email: newco...(a)flounder.com > Web:http://www.flounder.com > MVP Tips:http://www.flounder.com/mvp_tips.htm
|
Pages: 1 Prev: MFC (VS2008SP1) app deploying Next: Unmanaged Database Connections how? |