Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Cannot dynamic create a CExtReportGridWnd Collapse All
Subject Author Date
Christan HIRIGOYEN Nov 12, 2008 - 5:22 AM

I would like to embed a CExtReportGridWnd in a CExtSplitterWnd. So there is an ASSERT when creating the CExtReportGridWnd.

Neither directly, nor via a derived class (CMyReport : public CExtPPVW < CExtReportGridWnd >)


I would like to avoid having a CWnd for containing the report grid. not useful redirection.




Could you advise me please?

Christan HIRIGOYEN Nov 13, 2008 - 3:37 AM

There is an ASSERT in wincore line 329.


Find enclosed the needed information,


hope it is not too huge for the forum.


Regards,


 


here is the part of code and the locals associate



BOOL CWnd::Attach(HWND hWndNew)


{


ASSERT(m_hWnd == NULL);



// only attach once, detach on destroy

ASSERT(FromHandlePermanent(hWndNew) == NULL);


 


// must not already be in permanent map

 


 


if (hWndNew == NULL)return FALSE;

......


and locals


+  this 0x04a26c68 {CNoteReportGrid hWnd=0x008417d8} CWnd * const

+  hWndNew 0x002d176e {unused=302776834 } HWND__ *

+  pMap 0x03ac6238 {m_alloc={...} m_pfnConstructObject=0x78254510 m_pfnDestructObject=0x782ab0c0 ...} CHandleMap *


 


here is a part of the call stack


  ntdll.dll!7c901230()

[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]

msvcr80d.dll!_CrtDbgBreak() Line 89 C

msvcr80d.dll!_VCrtDbgReportA(int nRptType=2, const char * szFile=0x781d54e0, int nLine=329, const char * szModule=0x00000000, const char * szFormat=0x00000000, char * arglist=0x00126030) Line 290 C

msvcr80d.dll!_CrtDbgReportV(int nRptType=2, const char * szFile=0x781d54e0, int nLine=329, const char * szModule=0x00000000, const char * szFormat=0x00000000, char * arglist=0x00126030) Line 300 + 0x1d bytes C

msvcr80d.dll!_CrtDbgReport(int nRptType=2, const char * szFile=0x781d54e0, int nLine=329, const char * szModule=0x00000000, const char * szFormat=0x00000000, ...) Line 317 + 0x1d bytes C

mfc80d.dll!AfxAssertFailedLine(const char * lpszFileName=0x781d54e0, int nLine=329) Line 25 + 0x14 bytes C++

> mfc80d.dll!CWnd::Attach(HWND__ * hWndNew=0x002d176e) Line 329 + 0x18 bytes C++

mfc80d.dll!_AfxCbtFilterHook(int code=3, unsigned int wParam=2955118, long lParam=1204840) Line 530 C++

user32.dll!7e4318e3()

user32.dll!7e44f687()

ntdll.dll!7c90eae3()

user32.dll!7e43e175()

user32.dll!7e43e152()

ProfUIS283md.dll!CExtHookSpy::SHS_HookCBTProc(int nCode=3, unsigned int wParam=2955118, long lParam=1205192) Line 1095 + 0x1b bytes C++

user32.dll!7e4318e3()

ntdll.dll!7c9155c9()

user32.dll!7e44f687()

ntdll.dll!7c90eae3()

user32.dll!7e41fe13()

user32.dll!7e41fdd9()

ntdll.dll!7c915041()

ntdll.dll!7c915233()

ntdll.dll!7c9155c9()

ntdll.dll!7c911538()

ntdll.dll!7c911596()

ntdll.dll!7c9106eb()

gdi32.dll!77f2c55c()

gdi32.dll!77f3dd2f()

usp10.dll!74dc5621()

ntdll.dll!7c910732()

ntdll.dll!7c910732()

ntdll.dll!7c9106ab()

ntdll.dll!7c9106eb()

gdi32.dll!77f1949e()

gdi32.dll!77f194a6()

usp10.dll!74dab91e()

ntdll.dll!7c910f46()

ntdll.dll!7c910e91()

ntdll.dll!7c91056d()

user32.dll!7e419c17()

user32.dll!7e419d4d()

user32.dll!7e419d60()

ntdll.dll!7c91056d()

kernel32.dll!7c80997a()

kernel32.dll!7c80998d()

gdi32.dll!77f1a70c()

kernel32.dll!7c80998d()

gdi32.dll!77f1a792()

gdi32.dll!77f1a3cb()

gdi32.dll!77f17581()

gdi32.dll!77f17598()

gdi32.dll!77f16b25()

user32.dll!7e41ea44()

user32.dll!7e41e9eb()

user32.dll!7e4242e9()

user32.dll!7e41e13a()

user32.dll!7e42592c()

user32.dll!7e43a91e()

msvcr80d.dll!_output_s_l(_iobuf * stream=0x00000000, const char * format=0x001f4008, localeinfo_struct * plocinfo=0x001ce600, char * argptr=0x00012012) Line 1166 + 0x17 bytes C++

user32.dll!7e466278()

user32.dll!7e450617()

user32.dll!7e4505cf()

msvcr80d.dll!__crtMessageBoxA(const char * lpText=0x001270c0, const char * lpCaption=0x102d315c, unsigned int uType=73746) Line 168 + 0x13 bytes C

msvcr80d.dll!__crtMessageWindowA(int nRptType=2, const char * szFile=0x781d54e0, const char * szLine=0x00129134, const char * szModule=0x00000000, const char * szUserMessage=0x00128134) Line 420 + 0x16 bytes C

msvcr80d.dll!_VCrtDbgReportA(int nRptType=2, const char * szFile=0x781d54e0, int nLine=626, const char * szModule=0x00000000, const char * szFormat=0x00000000, char * arglist=0x0012d1c8) Line 420 + 0x28 bytes C

msvcr80d.dll!_CrtDbgReportV(int nRptType=2, const char * szFile=0x781d54e0, int nLine=626, const char * szModule=0x00000000, const char * szFormat=0x00000000, char * arglist=0x0012d1c8) Line 300 + 0x1d bytes C

msvcr80d.dll!_CrtDbgReport(int nRptType=2, const char * szFile=0x781d54e0, int nLine=626, const char * szModule=0x00000000, const char * szFormat=0x00000000, ...) Line 317 + 0x1d bytes C

mfc80d.dll!AfxAssertFailedLine(const char * lpszFileName=0x781d54e0, int nLine=626) Line 25 + 0x14 bytes C++

mfc80d.dll!AfxHookWindowCreate(CWnd * pWnd=0x04a30708) Line 626 + 0x18 bytes C++

mfc80d.dll!CWnd::CreateEx(unsigned long dwExStyle=0, const char * lpszClassName=0x02408b28, const char * lpszWindowName=0x00000000, unsigned long dwStyle=1174470656, int x=0, int y=0, int nWidth=0, int nHeight=0, HWND__ * hWndParent=0x008417d8, HMENU__ * nIDorHMenu=0x00001b58, void * lpParam=0x00000000) Line 694 C++

mfc80d.dll!CWnd::Create(const char * lpszClassName=0x02408b28, const char * lpszWindowName=0x00000000, unsigned long dwStyle=1174470656, const tagRECT & rect={...}, CWnd * pParentWnd=0x04a26c68, unsigned int nID=7000, CCreateContext * pContext=0x00000000) Line 743 C++

ProfUIS283md.dll!CExtScrollItemWnd::Create(CWnd * pParentWnd=0x04a26c68, const tagRECT & rcWnd={...}, unsigned int nDlgCtrlID=7000, unsigned long dwScrollItemWndStyle=0, unsigned long dwWindowStyle=1174470656, CCreateContext * pContext=0x00000000) Line 4752 + 0x23 bytes C++

ProfUIS283md.dll!CExtReportGridWnd::OnReportGridCreateColumnChooser() Line 6450 + 0x2b bytes C++

ProfUIS283md.dll!CExtReportGridWnd::ReportColumnChooserGet() Line 6134 + 0x12 bytes C++

ProfUIS283md.dll!CExtReportGridWnd::_CreateHelper() Line 5678 + 0x12 bytes C++

ProfUIS283md.dll!CExtScrollItemWnd::PreSubclassWindow() Line 4806 + 0x12 bytes C++

ProfUIS283md.dll!CExtGridBaseWnd::PreSubclassWindow() Line 805 C++

ProfUIS283md.dll!CExtTreeGridWnd::PreSubclassWindow() Line 3899 C++

ProfUIS283md.dll!CExtReportGridWnd::PreSubclassWindow() Line 5781 C++

mfc80d.dll!_AfxCbtFilterHook(int code=3, unsigned int wParam=8656856, long lParam=1234352) Line 532 C++

user32.dll!7e4318e3()

user32.dll!7e44f687()

ntdll.dll!7c90eae3()

user32.dll!7e43e175()

user32.dll!7e43e152()

ProfUIS283md.dll!CExtHookSpy::SHS_HookCBTProc(int nCode=3, unsigned int wParam=8656856, long lParam=1234704) Line 1095 + 0x1b bytes C++

user32.dll!7e4318e3()

user32.dll!7e44f687()

ntdll.dll!7c90eae3()

user32.dll!7e41fe13()

user32.dll!7e41fdd9()

kernel32.dll!7c80e5cb()

ntdll.dll!7c9106eb()

msvcr80d.dll!_heap_alloc_base(unsigned int size=271662096) Line 105 + 0x28 bytes C

msvcr80d.dll!_unlock(int locknum=5) Line 376 C

msvcr80d.dll!__set_flsgetvalue() Line 288 + 0xc bytes C

00000030()

msvcr80d.dll!write_string(char * string=0x7c911596, int len=2089879275, _iobuf * f=0x0012e218, int * pnumwritten=0x0012dcc0) Line 2570 + 0x19 bytes C++

ntdll.dll!7c912270()

ntdll.dll!7c911596()

ntdll.dll!7c9106eb()

msvcr80d.dll!_malloc_dbg(unsigned int nSize=5, int nBlockUse=57, const char * szFileName=0x0012d93c, int nLine=1235264) Line 191 + 0x1b bytes C++

msvcr80d.dll!__set_flsgetvalue() Line 288 + 0xc bytes C

msvcr80d.dll!_isleadbyte_l(int c=0, localeinfo_struct * plocinfo=0x102339e0) Line 57 + 0x29 bytes C++

0012dd24()

mfc80d.dll!AfxAssertValidObject(const CObject * pOb=0x7c911596, const char * lpszFileName=0x7c9106eb, int nLine=9) Line 107 C++

ntdll.dll!7c911538()

ntdll.dll!7c910732()

ntdll.dll!7c910732()

ntdll.dll!7c9106ab()

ntdll.dll!7c9106eb()

mfc80d.dll!CFile::~CFile() Line 112 + 0x3c bytes C++

msvcr80d.dll!_mbscmp(const unsigned char * s1=0x04a28c28, const unsigned char * s2=0x04a28b40) Line 84 + 0xf bytes C++

mfc80d.dll!ATL::ChTraitsCRT<char>::StringCompare(const char * pszA=0x0015d1a0, const char * pszB=0x00000000) Line 381 + 0xe bytes C++

0012e218()

ntdll.dll!7c9174d9()

user32.dll!7e41ff66()

mfc80d.dll!AfxCtxCreateWindowExA(unsigned long dwExStyle=0, const char * lpClassName=0x02408b44, const char * lpWindowName=0x00000000, unsigned long dwStyle=1342177280, int X=0, int Y=0, int nWidth=200, int nHeight=200, HWND__ * hWndParent=0x007f17da, HMENU__ * hMenu=0x0000e900, HINSTANCE__ * hInstance=0x00400000, void * lpParam=0x0012dedc) Line 438 + 0xa1 bytes C++

mfc80d.dll!CWnd::CreateEx(unsigned long dwExStyle=0, const char * lpszClassName=0x00000000, const char * lpszWindowName=0x00000000, unsigned long dwStyle=1342177280, int x=0, int y=0, int nWidth=200, int nHeight=200, HWND__ * hWndParent=0x007f17da, HMENU__ * nIDorHMenu=0x0000e900, void * lpParam=0x0012dedc) Line 694 + 0x35 bytes C++

mfc80d.dll!CWnd::Create(const char * lpszClassName=0x00000000, const char * lpszWindowName=0x00000000, unsigned long dwStyle=1342177280, const tagRECT & rect={...}, CWnd * pParentWnd=0x04a26af0, unsigned int nID=59648, CCreateContext * pContext=0x0012dedc) Line 743 C++

mfc80d.dll!CSplitterWnd::CreateView(int row=0, int col=0, CRuntimeClass * pViewClass=0x01153084, tagSIZE sizeInit={...}, CCreateContext * pContext=0x0012dedc) Line 291 + 0x32 bytes C++

Modaris 3D Fit.exe!CSplitterWndEx::Create(CWnd * pParentWnd=0x03aad724, CRuntimeClass * pView1=0x01153084, CRuntimeClass * pView2=0x01169674, CCreateContext * pContext=0x00000000, bool bVertical=false, int nID=59648) Line 73 C++

Modaris 3D Fit.exe!CNoteDlg::OnCreate(tagCREATESTRUCTA * lpCreateStruct=0x0012e3dc) Line 101 + 0x2a bytes C++

mfc80d.dll!CWnd::OnWndMsg(unsigned int message=1, unsigned int wParam=0, long lParam=1237980, long * pResult=0x0012e1b0) Line 2000 + 0xd bytes C++

mfc80d.dll!CWnd::WindowProc(unsigned int message=1, unsigned int wParam=0, long lParam=1237980) Line 1741 + 0x20 bytes C++

mfc80d.dll!AfxCallWndProc(CWnd * pWnd=0x03aad724, HWND__ * hWnd=0x003a17bc, unsigned int nMsg=1, unsigned int wParam=0, long lParam=1237980) Line 240 + 0x1c bytes C++

mfc80d.dll!AfxWndProc(HWND__ * hWnd=0x003a17bc, unsigned int nMsg=1, unsigned int wParam=0, long lParam=1237980) Line 389 C++

mfc80d.dll!AfxWndProcBase(HWND__ * hWnd=0x003a17bc, unsigned int nMsg=1, unsigned int wParam=0, long lParam=1237980) Line 411 + 0x15 bytes C++


Regards,


Technical Support Nov 13, 2008 - 1:22 PM

We would like to try to reproduce this problem in a test project. Please provide us with details about your project or send it to us or send us only the UI related code. Whether the splitter control is created inside a dialog or a frame window? How and where the report grid control is created as a child of the splitter window?

Christan HIRIGOYEN Nov 14, 2008 - 5:15 AM

I modified  your MDI sample to reproduce the problem. How can I send you the zip file?

Technical Support Nov 14, 2008 - 12:04 PM

Please sent it to support@prof-uis.com.

Technical Support Nov 12, 2008 - 1:05 PM

There is not enough information in your e-mail, which does not allow us to reply you at once. Could you please let us take a look at the call stack listing?