我做了一个dll程序,可以对调用它的多文档程序在其菜单基础上添加新的菜单,可是现在有个程序怎么也运行不起来,老是报错,说是ASSERT(menu)失败,我想应该是找不到主框架的菜单指针,请问如何可以查出主框架与其冲突的资源在哪?

解决方案 »

  1.   

    "0x5f480f2a"指令引用的"0x00000004"内存。改内存不能为"read"
    这是出错的提示
      

  2.   

    menu的值肯定为空,说明menu没有正确赋值。从变量的作用范围考虑看看。
      

  3.   

    程序如下:
    CFrameWnd *Frame=GetParentFrame(); CMenu *menu=AfxGetMainWnd->GetMenu();
        int pos;
        
    pos =FindMenuItem(menu, "编辑");
        if(pos==-1)          //没有该菜单项
    {
    int iCount=menu->GetMenuItemCount();

    CMenu menutmp;
    if(menutmp.LoadMenu(IDR_MAINEDIT))
    {
       menu->InsertMenu(-1,MF_POPUP|MF_BYPOSITION|MF_STRING,
       (UINT)menutmp.GetSubMenu(0)-> m_hMenu,"编辑");
       menutmp.Detach(); //将资源菜单(IDR_MENU1)与Cmenu对象分离。
     
     }
    }