Re: backward compatibility in Vista
"Scott McPhillips [MVP]" <org-dot-mvps-at-scottmcp> wrote in message
news:1_qdnQ46ttaQBCbbnZ2dnUVZ_sqinZ2d@comcast.com...
SteveR wrote:
Now I find in Debug (C++ 6.0), on my Vista machine, that upon execution I
get a winocc.cpp line 290 assertion failed. Apparently the
mainframe->m_hWnd has no value. I would certainly appreciate some
insight on this.
BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int
cx,
int cy, UINT nFlags)
{
ASSERT(::IsWindow(m_hWnd)); // this is line 290
This means that SetWindowPos is being called before the window has been
created, or perhaps is being called using some invalid window pointer. The
problem lies in the code that calls here, which you can identify by
looking in the debugger stack window when the assertion occurs.
--
Scott McPhillips [MVP VC++]
----------
Thank you for reminding me that the stack window was hidden! I couldn't
figure out why I was so clueless on this Vista machine. However, I cannot
understand the problem, so I will throw myself at someone's mercy, hoping
for further comment as I post the stack info below. I have never
experienced this trouble until using Vista.
CWnd::SetWindowPos(const CWnd * 0x5f8d9188 class CWnd const
CWnd::wndTopMost, int 0, int 0, int 0, int 0, unsigned int 3) line 290
+ 36 bytes
CMainFrame::PreCreateWindow(tagCREATESTRUCTW & {...}) line 117
CFrameWnd::GetIconWndClass(unsigned long 13598720, unsigned int 128) line
670
CFrameWnd::LoadFrame(unsigned int 128, unsigned long 13598720, CWnd *
0x00000000 {CWnd hWnd=???}, CCreateContext * 0x0012fc74)
line 696 + 16 bytes
CDocTemplate::CreateNewFrame(CDocument * 0x00af5088 {CRoom101Doc}, CFrameWnd
* 0x00000000 {CFrameWnd hWnd=???}) line 279 + 32 bytes
CSingleDocTemplate::OpenDocumentFile(const unsigned short * 0x00000000, int
1) line 132 + 17 bytes
CDocManager::OnFileNew() line 829
CWinApp::OnFileNew() line 29
_AfxDispatchCmdMsg(CCmdTarget * 0x0062e620 class CRoom101App theApp,
unsigned int 57600, int 0, void (void)* 0x005995d2
CWinApp::OnFileNew, void * 0x00000000, unsigned int 12, AFX_CMDHANDLERINFO *
0x00000000) line 88
CCmdTarget::OnCmdMsg(unsigned int 57600, int 0, void * 0x00000000,
AFX_CMDHANDLERINFO * 0x00000000) line 302 + 39 bytes
CWinApp::ProcessShellCommand(CCommandLineInfo & {CCommandLineInfo}) line 31
+ 30 bytes
CRoom101App::InitInstance() line 89 + 12 bytes
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, unsigned
short * 0x002b1e34, int 1) line 39 + 11 bytes
wWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, unsigned short
* 0x002b1e34, int 1) line 30
wWinMainCRTStartup() line 330 + 55 bytes
KERNEL32! 76dc3833()
NTDLL! 7737a9bd()