请问是怎么回事,又该怎么处理呢?
9 个解决方案
#1
以前碰到 相关结构体没初始化 会出现这样问题,DEBUG 没问题,release就没反应。不晓得是不是这方面原因。
#2
不会吧,我是.LoadBitmap(...)来的,哪有相关结构体呢,你后来是怎么解决的呢
#3
你跟踪图标id,debug下
#4
我在为菜单创建图标的代码是这样的:
在MainFrame的OnCreat(...)函数中,
{
...
CBitmap m_BitStart;
m_BitStart.LoadBitmap(IDB_BITMAP_START);//IDB_BITMAP_START为我新建的位图资源
CMenu *subMenu=this->GetMenu()->GetSubMenu(4);
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
...//其他菜单图标也都是这样处理的
}
。。。不知道是不是还要在其他地方设置什么,才能在Release下 正常显示菜单图标?
在MainFrame的OnCreat(...)函数中,
{
...
CBitmap m_BitStart;
m_BitStart.LoadBitmap(IDB_BITMAP_START);//IDB_BITMAP_START为我新建的位图资源
CMenu *subMenu=this->GetMenu()->GetSubMenu(4);
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
...//其他菜单图标也都是这样处理的
}
。。。不知道是不是还要在其他地方设置什么,才能在Release下 正常显示菜单图标?
#5
能问下,跟踪图标ID的意图是什么?
#6
CBitmap m_BitStart;
=============
局部变量,函数结束后析构之后,相关的位图对象也被释放了,解决方法有如下几种:
一:改为CBitmap *m_BitStart;
二:在最后调用m_BitStart.Detach(),将类对象与GDI对象分离
三:将CBitmap定义为静态变量或是类成员变量
=============
局部变量,函数结束后析构之后,相关的位图对象也被释放了,解决方法有如下几种:
一:改为CBitmap *m_BitStart;
二:在最后调用m_BitStart.Detach(),将类对象与GDI对象分离
三:将CBitmap定义为静态变量或是类成员变量
#7
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
&m_BitStart,&m_BitStart));
囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
#8
Release直接跳过了。。。
#9
哈哈,还是我太挫了,你一下就看中根本原因。。。
我平时编程都比较随意,因为我理解的不深,都是用到什么看到什么,用错了也不知道为什么....
谢谢你,把ASSERT 去了 就好了....
#1
以前碰到 相关结构体没初始化 会出现这样问题,DEBUG 没问题,release就没反应。不晓得是不是这方面原因。
#2
不会吧,我是.LoadBitmap(...)来的,哪有相关结构体呢,你后来是怎么解决的呢
#3
你跟踪图标id,debug下
#4
我在为菜单创建图标的代码是这样的:
在MainFrame的OnCreat(...)函数中,
{
...
CBitmap m_BitStart;
m_BitStart.LoadBitmap(IDB_BITMAP_START);//IDB_BITMAP_START为我新建的位图资源
CMenu *subMenu=this->GetMenu()->GetSubMenu(4);
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
...//其他菜单图标也都是这样处理的
}
。。。不知道是不是还要在其他地方设置什么,才能在Release下 正常显示菜单图标?
在MainFrame的OnCreat(...)函数中,
{
...
CBitmap m_BitStart;
m_BitStart.LoadBitmap(IDB_BITMAP_START);//IDB_BITMAP_START为我新建的位图资源
CMenu *subMenu=this->GetMenu()->GetSubMenu(4);
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
...//其他菜单图标也都是这样处理的
}
。。。不知道是不是还要在其他地方设置什么,才能在Release下 正常显示菜单图标?
#5
能问下,跟踪图标ID的意图是什么?
#6
CBitmap m_BitStart;
=============
局部变量,函数结束后析构之后,相关的位图对象也被释放了,解决方法有如下几种:
一:改为CBitmap *m_BitStart;
二:在最后调用m_BitStart.Detach(),将类对象与GDI对象分离
三:将CBitmap定义为静态变量或是类成员变量
=============
局部变量,函数结束后析构之后,相关的位图对象也被释放了,解决方法有如下几种:
一:改为CBitmap *m_BitStart;
二:在最后调用m_BitStart.Detach(),将类对象与GDI对象分离
三:将CBitmap定义为静态变量或是类成员变量
#7
ASSERT(subMenu->SetMenuItemBitmaps(ID_START_SIMULATION,MF_BYCOMMAN,
&m_BitStart,&m_BitStart));
囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
&m_BitStart,&m_BitStart));
囧。。。。
你的这个,在Release编译方式下根本就不会执行。。。ASSERT只有在Debug下有效。。。
#8
Release直接跳过了。。。
#9
哈哈,还是我太挫了,你一下就看中根本原因。。。
我平时编程都比较随意,因为我理解的不深,都是用到什么看到什么,用错了也不知道为什么....
谢谢你,把ASSERT 去了 就好了....