操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

不正确的事件处理

2006-10-9 网友评论 0 条 点击进入论坛

静态布尔型 CMyApp_HandleEvent(CMyApp * pme, AEEEvent evt,
uint16 w, uint32 dw)
{
switch(evt){
case EVT_APP_START:
return(TRUE);
case EVT_APP_STOP:
return(TRUE);
case EVT_KEY:
IMENUCTL_HandleEvent(pme->m_pMenu, evt, w, dw);
if(w == AVK_SELECT){
uint16 wID;

wID = IMENUCTL_GetSel(pme->m_pMenu);
switch(wID){
case IDC_MENU_ITEM_1:
...
break;
case IDC_MENU_ITEM_2:
...
break;
}
}
return(TRUE);
default:
return(IMENUCTL_HandleEvent(pme->m_pMenu,evt,w,dw));
}
return(FALSE);
}

上面代码存在的问题是它对菜单的行为进行控制。 它不响应有关事件,而是负责菜单处理。 如果 OEM 或运营商修改菜单控制行为,则它会出现问题。

更糟糕的是,在以后的 BREW™ 版本中,此功能可能不再正常工作,因为某些菜单事件处理将通过传递的事件来完成。 这种更改旨在减少堆栈的使用。 不过,它会导致该应用程序发生故障。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46430 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail