Stapelfehler



  • Hi,

    wenn ich die Struktur vor dem Aufruf nulle, klappt es auch nicht, hier mal der gesamte Code:

    bool CMenu::MeasureItem(LPMEASUREITEMSTRUCT pstMeasureItem)
    {
    
        MENUITEMINFO stSubMenuPt;
    
        ZeroMemory(&stSubMenuPt, sizeof(MENUITEMINFO));
    
        int nSubMenuItem = LOWORD(pstMeasureItem->itemData);
        int nType = HIWORD(pstMeasureItem->itemData);
    
        SUBMENU *pstSubMenu = this->GetSubMenuStruct(pstMeasureItem->itemID, 
          this- >pstMenu);
    
        if (pstSubMenu == NULL || pstSubMenu->hHandle == NULL)
          return false;
    
        if (nType == MT_LINE)
        {
           pstMeasureItem->itemHeight = g_nMenuHeight - C_nSeparator;
    
           stSubMenuPt.cbSize = sizeof(MENUITEMINFO);
           stSubMenuPt.fMask = MIIM_STATE;
           stSubMenuPt.fState = MFS_DISABLED | MFS_UNHILITE;
     // Hier kommt der Stapelfehler!			
           SetMenuItemInfo(pstSubMenu->hHandle, pstMeasureItem->itemID, false, 
              &stSubMenuPt);
        }
    
        else
          pstMeasureItem->itemHeight = g_nMenuHeight;
    
        if (nSubMenuItem == 0 || nSubMenuItem == pstSubMenu->nCount - 1)
           pstMeasureItem->itemHeight += 1;
    
        pstMeasureItem->itemWidth = pstSubMenu->nWidth;
    
        return true;
    }
    

    Was ist daran nur falsch? (Wie gesagt, auf Win2000 funktioniert es, auf WinME aber nicht).



  • Hast du evtl. per define irgendwo gesagt, dass du für W2K compilieren willst?!



  • Nein hab ich nicht!

    (Hab nur ein WIN32_LEAN_AND_MEAN drin, dürfte aber nicht schlimm sein?!).


Anmelden zum Antworten