Fehlermeldung bei Beenden von Programm !



  • Hallo Leute,

    kann mir jemand helfen ??

    Ich habe eine SDI anwendung in der ich die Hauptansicht splitte.
    In der CMainFrame OnCreateClient einen oberen Bereich und einen Unteren Bereich:

    BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
    {	
    // TODO: Add your specialized code here and/or call the base class
    if (!m_wndSplitter.CreateStatic(this, 2, 1))
    {
    TRACE0("Failed to create splitter window\n");
    return FALSE;
    }
    
    CRect rect;
    GetClientRect(&rect);
    
    if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CAnsichtTop), CSize(0, rect.Width()/2.2), pContext))
    {
    TRACE0("Failed to create TOP pane frame\n");
    return FALSE;
    }
    
    if (!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CTickerDialog), CSize(0, 0), pContext))
    {
    TRACE0("Failed to create BOTTON pane view\n");
    return FALSE;
    }
    
    m_pTickerDialog     = (CTickerDialog*)   m_wndSplitter.GetPane(1,0);
    m_pAnsichtTop		= (CAnsichtTop*)	 m_wndSplitter.GetPane(0,0);
    TRACE("-- m_pTickerDialog = %p\n",m_pTickerDialog);
    TRACE("-- m_pAnsichtTop = %p\n",m_pAnsichtTop);
    
    // Hole Pointer auf PointerManager
    CPointerManager* pPointerManager = CPointerManager::getInstance();
    pPointerManager->setTickerDialog(m_pTickerDialog);
    TRACE("-- pPointerManager->getTickerDialog() %p\n",pPointerManager->getTickerDialog());
    
    return TRUE;
    // return CFrameWnd::OnCreateClient(lpcs, pContext);
    }
    

    Die CAnsichtTop ist Abgeleitet von CFrameWnd.
    Dort erstelle ich wieder eine OnCreateClient allerdings diesmal Links und Rechts.
    Es funktioniert dann auch, allerdings beim Beenden des Programmes bringt er mir eine Fehlermeldung dass er auf eine Speicheradresse nicht zugreiffen kann.

    Jetzt denke ich mir, dass er beim Schließen den Oberen Bereich schließt, anschließend in der MainFrame nicht mehr darauf zugreiffen kann ??

    Wenn Ich nähmlich in der CAnsichtTop den Splitter auskommentieren funkt es tadellos.

    Hat jemand eine Idee ??

    Gruß
    andy_mann



  • Folgende Fehlerbeschreibung kommt:

    ASSERT_VALID fails with illegal vtable pointer.
    ASSERT_VALID fails with illegal vtable pointer.
    Second Chance Assertion Failed: File winfrm.cpp, Line 2124
    Nicht abgefangene Ausnahme in analyser.exe (KERNEL32.DLL): 0xC0000005: Access Violation.
    Nicht abgefangene Ausnahme in analyser.exe (KERNEL32.DLL): 0xC0000005: Access Violation.

    Gruß
    andy_mann


Anmelden zum Antworten