CSplitterWnd -> Debug Assert Error



  • Hallo,

    ich möchte eine SDI Anwendung zunächst in 2 Bereiche unterteilen.

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
    	// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
    	/************************************
    
    	+-------+------------------------+-------+
    	|       |                        |       |
    	|   S   |                        |   A   |
    	|   O   |                        |   C   |
    	|   L   |                        |   T   |
    	|   U   |    IMAGE VIEW          |   I   |
    	|   T   |                        |   O   |
    	|   I   |                        |   N   |
    	|   O   |                        |       |
    	|   N   |                        |       |
    	|       |                        |       |
    	+-------+------------------------+-------+
    	|                                        |
    	|       CONSOLE                          |
    	|                                        |
    	+----------------------------------------+
    
    	************************************/
    
    	//Die Größe holen
    	CRect cr;
    	GetWindowRect( &cr );
    
    	//Zuerst das Fenster waagerecht teilen
    	if ( ! m_horzSplitter.CreateStatic( this, 2, 1 ) )
    	{
    		MessageBox( "Fehler beim Teilen des Fenster (horizontal)", "ERROR", MB_OK | MB_ICONERROR );
    		return FALSE;
    	}
    
    	// Die Views einfügen
    	if ( !m_horzSplitter.CreateView( 0, 0, RUNTIME_CLASS(CSolutionView),
    		CSize(cr.Width()/2, cr.Height()), pContext ) )
    	{
    		MessageBox( "Error setting up splitter view", "ERROR", MB_OK | MB_ICONERROR );
    		return FALSE;
    	}
    
    	if ( !m_horzSplitter.CreateView( 0, 1, RUNTIME_CLASS(CImgView),
    		CSize(cr.Width()/2, cr.Height()), pContext ) )
    	{
    		MessageBox( "Error setting up splitter view", "ERROR", MB_OK | MB_ICONERROR );
    		return FALSE;
    	}
    
    	m_bSplitter = true;
    
    	return true;
    	//return CFrameWnd::OnCreateClient(lpcs, pContext);
    }
    

    CImgView und CSolutionView sind jeweils von CFormView abgeleitete Klassen.
    Kompilieren funktioniert ohne Probleme, aber beim ausführen erhalte ich folgenden Fehler:

    Debug Assertion Failed
    File: Viewform.cpp
    Line: 64

    Diese Meldung wird nach dem ersten CreateView-Befehl ausgelöst. Dieser gibt 0 zurück.


Anmelden zum Antworten