I get a Debug Assertion Failure with the standard "Abort, Retry, Ignore" options as soon as I run my program. The problem is reported on line 301 of winocc.cpp.

Code:
class CMyApp : public CWinApp {
	public:
		BOOL InitInstance() {

			m_pMainWnd = new CMainWin; // see note below - this is the failure
			m_pMainWnd->ShowWindow( m_nCmdShow );
			m_pMainWnd->UpdateWindow();
			return TRUE;

		}
} MyApp;
Using debugger, I found that the m_pMainWnd->ShowWindow() call is where the ASSERT is that is failing - it seems as though the window is not valid. This is the CMainWin constructor:

Code:
CMainWin::CMainWin() {

	Create( NULL, "CanOutData", WS_OVERLAPPEDWINDOW,
		CRect( 0,0,300,100 ), NULL, "IDR_MAINMENU" );

}
With that segment "as is," it fails. If I remove the last parameter (the menu name), it works (but I get no menu, which is rather important). The appropriate lines from the resource file:

Code:
IDR_MAINMENU MENU
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "&New...",                     ID_FILE_NEW
        MENUITEM SEPARATOR
        MENUITEM "E&xit",                       ID_FILE_EXIT
    END
    POPUP "&Help", HELP
    BEGIN
        MENUITEM "A&bout...",                   ID_HELP_ABOUT
    END
END
That's it. I've tried to post all the relevant code. Based on some web searching I did, it seemed as though the menu name was wrong, but it doesn't appear so. Can anybody provide any other suggestions on what might be causing the problem? TIA

Edit: forgot to mention that CMainWin is my own class publicly derived from CFrameWnd.