CMDIFrameWndEx-Absturz beim Maximieren eines Childs
-
Bin dabei mein Projekt auf MFCNext umzustellen, benutze CMDIFrameWndEx.
Wenn ich nun ein MDIChild (CMDIChildWndEx) maximiere (Doppelklick auf Titelleiste), dann stürzt das Programm ab. In der alten Version mit CMDIFrameWnd war das nicht so.
Weiss nicht, wo ich suchen soll. Hat jemand eine Idee ?Edit:
Habe nun rausgefunden das es in atlsimpstr.h an folgender Stelle abstürzt.CStringData* GetData() const throw() { return( reinterpret_cast< CStringData* >( m_pszData )-1 ); }
Was mache ich falsch?
-
Dein Zeiger ist ungültig!
Der Heap ist defekt.Schau mal in den Callstack!
-
Danke,
lag daran, dass ich nach dem Maximieren versuche auf das erste Item in der Menubar zurückzugreifen mit m_wndMenuBar.GetMenuItem(0).
Problem ist, dass nach dem maximieren offenbar das Icon der View das erste Item ist. Kommt man an die Menüitems auch mittels ihrer Id ?
-
Was hast Du denn komisches vor?
Im Allgemeinen benötigt man in der MFC keinen direkten Zugriff auf ein Menü.Menüs ergänzt/disabled/enabled man in OnCommand Handlern.