WEB开发网
开发学院手机开发Symbian 开发 Symbian 3rd 知识点 阅读

Symbian 3rd 知识点

 2010-06-04 14:04:00 来源:WEB开发网   
核心提示:知识点(5)(73)应用程序总是中断的分析检查内存泄漏的方法:__UHEAP_MARK;你得代码中需要检查的部分__UHEAP_MARKEND;无原因退出主要有以下几个原因:1、没有处理Leave异常,也就是有没有被Trap的Leave函数,Symbian 3rd 知识点,所有的Leave函数必须在程序的某个地方被TR

知识点(5)

(73)应用程序总是中断的分析

检查内存泄漏的方法:

__UHEAP_MARK;

你得代码中需要检查的部分

__UHEAP_MARKEND;

无原因退出主要有以下几个原因:

1、没有处理Leave异常,也就是有没有被Trap的Leave函数。所有的Leave函数必须在程序的某个地方被TRAP, TRAPD, 或TRAP_IGNORE涵盖到。这是最初要的原因

2、访问了非法的内存区域

3、修改了非法的内存区域导致系统服务出错。这个问题可以在Symbian 9以后实现Platform Security之后解决

4、没有找到需要的库。缺少所需要的DLL文件等等

5、错误的资源文件,RSC文件的版本和程序中调用所需的资源文件不一致

6、调用了系统不支持的功能。例如类似调用Camera功能的时候要考虑到不同手机产品相机的差别,需要安装相应的FP (Feature Pack)

===================================================================================================================

(74)如何运行app和exe程序

Symbian有2种类型的本地程序:

APP是有GUI的程序,因此能够被终端用户使用

EXE通常是服务端或命令行程序,通常隐蔽的运行。没有GUI,不能直接从主菜单运行

运行指南

如果你是一个终端用户想运行APP:它会在你的电话菜单中列出如果它已经安装

当一个EXE程序在主菜单不可见时不能直接运行EXE程序。试着从INBOX运行它(如果你通过红外或蓝牙下载过它,它可能存储在INBOX里)会导致一个安全错误。首先,你需要安装一个文件管理器(比如FileMan或FExplorer),浏览它存储的位置(在我的3650上INBOX的目录在 E: systemMailxxx),然后运行它。

运行程序

当你知道运行APP或EXE程序使用哪个API后是非常简单的事。

运行EXE程序:

#include

...

_LIT(KMyAppName, "c:\system\Apps\MyApp\MyApp.exe");

EikDll::StartExeL(KMyAppName);

下面的代码运行APP比较复杂但允许执行特定的文档

#include

#include

...

_LIT(KMyAppName, "c:\system\Apps\MyApp\MyApp.app");

_LIT(KMyDocName, "c:\Documents\MyApp.dat");

1 2 3 4 5  下一页

Tags:Symbian rd 知识点

编辑录入:coldstar [复制链接] [打 印]
赞助商链接