使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(四)

来源:百度文库 编辑:神马文学网 时间:2024/06/04 02:57:28
可是当我们退出程序时却出现了程序已关闭的错误。

我的天哪,怎么会这样呢,为什么我的程序不能正常退出呢,遗憾的是模拟器只提示了很简单的错误提示,并没有更详细的错误报告,我们可以通过在 C:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\wins\c\System\Bootdata 下创建一个 ErrRd 的空文件以让模拟器显示详细的错误信息(请在相应的SDK目录下操作),此时我们再次运行模拟器打开HelloWorld并关闭它,现在是不是提示信息多了一点呢?
模拟器报出了 ALLOC:17B18158 的错误,像这种类型的错误大多数情况下是因为我们使用了某个对象后忘记关闭它并释放此对象的内存导致的,为了保证程序的正常运行,我们要在使用一个对象后及时将它删除掉,于是我们定位到了HelloWorldContainer.cpp的~CHelloWorldContainer (析构函数) 中 输入以下代码
delete iImage;
当我们再次编译运行程序后,就不会再出现那讨厌的出错对话框了。

5.让我们添加一些功能
我们已经实现了在程序里显示位图的功能了,接下来我们将实现一个登陆框的功能,到时将会用到资源文件。
5.1 为菜单添加项目
打开 HelloWorld.loc 文件,定义菜单的文本
#define qtn_view1_login_item "Login"
打开HelloWorld.hrh ,修改THelloWorldCommandIds 的枚举定义,改成以下
enum THelloWorldCommandIds
{
EHelloWorldCmdAppTest = 1,
EHelloWorldCmdLogin
};
EHelloWorldCmdLogin其实就是对应了菜单项 "Login"
程序的菜单资源定义在了 HelloWorld.rss 文件中,我们打开这个文件,找到以下的定义
RESOURCE MENU_PANE r_helloworld_app_menu
{
items =
{
MENU_ITEM { command = EHelloWorldCmdAppTest; txt = qtn_appl_option_item; },
MENU_ITEM { command = EAknCmdExit; txt = qtn_appl_exit; }
};
}
把EHelloWorldCmdAppTest 替换成EHelloWorldCmdLogin,再把qtn_appl_option_item替换成qtn_view1_login_item ,这样我们就把程序选项菜单的第一项替换成 "Login" 了。
使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(四) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(四) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(一) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(二) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(三) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(五) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(六) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(三) 使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(五) 风之甬道: 使用carbide.vs与vs.net2003构建symbian开发平台-s6... S60平台:使用DBMS APIs —总论 独立团购平台模式VS导航类团购平台模式分析 Symbian OS开发入门(一) :基于VS.Net 2003的Symbian开发环境的准备 Symbian OS开发入门(一) :基于VS.Net 2003的Symbian开发环境的准备 Symbian开发平台的搭建之VC 6.0 [文章]开放结构数控系统网络化应用开发平台的构建 中国智慧VS西方智慧-看中国IT风云与IT产业怪状 - Windows 平台资深软件构架师... 中国智慧VS西方智慧-看中国IT风云与IT产业怪状 - Windows 平台资深软件构架师... S60平台:使用DBMS APIs —DBMS的管理结构和元素(1) S60平台:使用DBMS APIs —DBMS的管理结构和元素(2) S60平台:使用DBMS APIs —DBMS的管理结构和元素(3) S60平台:使用DBMS APIs —DBMS的管理结构和元素(1) S60平台:使用DBMS APIs —DBMS的管理结构和元素(2) S60平台:使用DBMS APIs —DBMS的管理结构和元素(3)