- 博客(41)
- 收藏
- 关注
原创 Symbian OS v9.x SIS 文件格式说明书
介绍 目的和范围本文档描述Symbian OS v9.1版本重新设计和重新组织的SIS文件格式。SIS文件是设备部署所需的文件包,用手机安装程序解析。除了简单的打包文件的功能外,SIS文件还可以包含影响安装过程的条件判断,比如设备相关的安装,语言相关的安装、用户可选的组件。 Symbian OS v9.1包含了新的设备安全策略,所以不再支持以前的版本。另外,设备上的安装程序在安装成功前监督
2011-06-10 16:13:00 625
原创 观察者模式的理解
class A 调用 class B.在class B实现了某个功能后想回调class A中的成员函数进行处理,这时就可使用观察者模式。使用方法:1、定义一个观察者类class MBObserver,在其中定义一些纯虚函数,如 virtual void function1()=0;2、在class B中定义一个成员变量MBObserver* iObserver,在初始化的时候要对其初始化;3、class A公有继承class MBObserver,实现其纯虚函数void function1();4、clas
2011-05-11 11:37:00 362
原创 获取安装程序的信息
使用RSisRegistrySession类可以获取所安装的sis/sisx包的详细信息。需要注意的是,该类是symbian的内部类,需要购买。购买成功后,可在namespace Swi空间中看到其定义。故使用该类时,需先using namespace Swi
2011-05-11 11:16:00 678
转载 VC中使用CMarkup解析xml文件
<br />(一) 先讲一下XML中的物殊字符,手动填写时注意一下。<br />字符 字符实体<br />& &或&<br />' '或'<br />> >或><br />< <或&<<br />"
2011-04-28 15:49:00 531
原创 新添h/cpp的错误:unexpected end of file while looking for precompiled header directive
<br />是修改 VC 的编译参数,將 /Yu"stdafx.h" 移除即可:project setting->C/C++->project options:
2011-04-27 12:11:00 547
转载 关于static_cast dynamic_cast reinterpret_cast的使用方法和场合
<br />reinterpret_cast可以转换任意一个32bit整数,包括所有的指针和整数。可以把任何整数转成指针,也可以把任何指针转成整数,以及把指针转化为任意类型的指针,威力最为强大!但不能将非32bit的实例转成指针。总之,只要是32bit的东东,怎么转都行! <br />static_cast和dynamic_cast可以执行指针到指针的转换,或实例本身到实例本身的转换,但不能在实例和指针之间转换。static_cast只能提供编译时的类型安全,而dynamic_cast可以提供运行时类型安全
2011-04-26 14:57:00 369
原创 编写及使用lib
<br />1、制作lib:<br />新建工程,选择:Generic Symbian OS->Basic static library(LIB)即可。然后定义类、函数等。<br /> <br />2、使用lib:<br />在另一个项目中使用lib,首先在mmp文件中加入:STATICLIBRARY YouLibName.lib<br />如需引用lib中的某个.h文件,则还应该在mmp中加入:<br />USERINCLUDE /Symbian/Carbide/workspace/
2011-04-21 18:00:00 691
原创 控制台程序无图标问题
build->run后,仿真器启动后可能自动关闭控制台程序也可能一直显示控制台程序。但在模拟器上看不到控制台程序的图标。1. 因为控制台程序运行结束后退出了。2. 想要程序退出后还能看到模拟器,必须先启动模拟器,再从模拟器启动程序。3. 控制台程序默认无法从模拟器启动的,想要在模拟器程序列表中看到控制台程序方法一:给程序增加一个注册文件。增加一个yourapp_reg.rss: #include UID2 KUidAppRegistrationResourceFileUID3 0xE545A44
2011-04-14 13:59:00 702
原创 -46 error:平台安全问题
使用RProperty::Define时出现如下错误:*PlatSec* WARNING - Secure Id Check would have failed - Process Console[eaa429d8]0001 attempted an operation requiring the secure id: e3fbcccc. Additional diagnostic message: Checked whilst trying to Define a Publish and Subscri
2011-04-14 11:31:00 426
转载 IMPORT_C and EXPORT_C
IMPORT_C 是一个宏,在 e32def.h 定义,意思是从 DLL 中导入函数。#define IMPORT_C __declspec(dllexport) 如果一个 DLL 函数要被导入到应用程序那么这个函数必须首先以 IMPORT_C 声明,告诉编译器,这个函数可以在 DLL 中找到。EXPORT_C 也是一个在 e32def.h 定义的宏,意思是从 DLL 中导出函数。#define EXPORT_C __declspec(dllexport)如果一个函数是 DLL API 的一部分, 并且要在
2011-04-13 12:20:00 373
转载 窗口事件:Window Server Events
Window Server中的Events(事件)被应用程序获取并处理。类似于微软Windows操作系统中的消息,事件通常源于用户的输入,由Wserv生成发送给客户端程序,如请求窗体重画。客户端程序通过WServ 会话来发送请求并获取事件。大部分事件(如键盘和鼠标事件)都封装为TWsEvent类。重画事件告诉应用程序屏幕的哪个区域需要重画,这类事件被封装在TWsRedrawEvent类中。事件类型Symbian OS 中的Window server有三种事件类型,通用事件、重画事件及优先键事件,它们分别封装
2011-04-12 11:51:00 657
转载 Symbian C/S 机制分析
以下分析基于:Platform :S60 3rd Edition, Feature Pack 2 SDKOperating System :Symbian OS v9.3为什么要使用Client/Server架构*在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的。Client是利用Server提供的特定服务的程序,Server接受来至Client的请求消息并同步或异步的处理他们。C/S架构有如下的优点:可扩展性 有效性:相同的Server可以服务多个Client。 安全性:Se
2011-04-12 09:49:00 388
原创 ClientServer/simple有感
DescriptionThis pair of examples shows a simple use of the client server interface. The client, SimpleClient, has a single session with the server SimpleServer, implemented as a statically linked DLL.Build NotesThe server must be built before the client. T
2011-04-11 18:33:00 300
转载 Application closed: ncnlist KERN-EXEC 3
<br />当我们启动S60 3rd Edition, FP1 SDK模拟器时会出现"Application closed: ncnlist KERN-EXEC 3" 信息提示。当此提示消失后模拟器正常工作(只是我们所运行的程序被关了)。些问题的解决方法比较简单,我们只需要下载NCNList_fix.zip然后解压后覆盖原SDK目录目录下的EPOC32目录既可(不要删除原来的目录)<br /> <br />下载地址:http://wiki.forum.nokia.com/index.php/TSS00065
2011-04-11 16:45:00 419
原创 Symbian进程间通信介绍--收藏
<br /><br /><br />这里主要介绍了进程间传递请求和数据的术语和框架。主要有以下几个方面的API:<br />异步服务:提供了一个进程向其他进程请求服务的术语<br />C/S结构:提供了Symbian OS的客户端/服务器框架,一个程序可以通过该框架向多个程序提供服务<br />通告服务:提供了多种低水平服务,比如环境改变,进程消亡,向屏幕显示简单消息等。<br /> <br /><br />下面详细介绍这三种API:<br /><br />异步服务(Asynchronous Service
2011-04-11 14:00:00 371
原创 Invalid project description错误
<br />原因:mmp中的userinclude或者systeminclude中的目录或路径名错误<br /> <br />解决:1、将mmp的文件名和工程的目录名改成一样的,同时需要修改inf文件<br /> <br /> 2、将mmp文件中的路径名进行修改。如:“.”改成“..”等。<br />
2011-04-11 11:35:00 426
原创 一个程序多个进程
<br />如何理解一个程序可以对应多个进程,一个进程也可以对应多个程序?<br /> 说白了就是,一个程序可以重复运行,开几个窗口,比如网游的“双开”,一个进程可以对应多个程序就是一个DLL文件可一被多个程序运用,比如DirectX9的动态链接库,就是,许多游戏都要有它才能运行。
2011-04-08 18:20:00 6163 1
转载 unhandled exception 错误
在对话框中添加一个编辑框IDC_EDIT2,然后给该控件添加一个CString类型的变量或者CEdit类型的变量,断点调试就出现该错误。错误可能的原因:该编辑框的ID错误
2011-04-08 10:37:00 3946
转载 symbian中文显示的两大解决方案:静态和动态
<br />字符串编码中文表示常用的有:GB2312,GBK,Unicode,UTF-8<br />其中GBK是GB2312的超集,也就是涵盖了GB2312编码的所有内容,<br />UTF-8是Unicode的在网络传输中的一种编码格式,<br />如果我们使用vc做为开发工具,在win下面进行开发,那么win<br />的默认字符集是 GBK的,而symbian系统默认的编码方式却是<br />Unicode,也就是说直接写在程序里面的汉字在手机上显示的时候,<br />就会变成乱码。<br /><br
2011-04-07 10:38:00 364
原创 java-类
<br />1、类声明部分<br />格式为:<br /> [修饰符] class 类名 [extends 父类名] [implements 接口名列表]<br />类的修饰符有private、public、abstract、final。一个类可以同时有多个修饰符,当有多个修饰符时这些修饰符没有先后顺序之分,可以按照任意顺序排列。<br />l private(私有):被修饰的类只能被同一包中的类访问,这是Java默认的方式。<br />l public(公共):被修饰的类能
2011-04-06 13:57:00 350
原创 java的基本概念
<br />1.类之间的关系:<br />use-a :依赖关系<br />has-a :聚合关系<br />is-a :继承关系--例:A类继承了B类,此时A类不仅有了B类的方法,还有其自己的方法.(个性存在于共性中)<br /> <br />2.包(package)Java允许把一个或多个类收集在一起成为一组,称作包,以便于组织任务,标准Java库分为许多包.java.lang java.util java.net等,包是分层次的所有的java包都在java和javax包层次内。<br /> <br /
2011-04-06 10:25:00 233
原创 android新建project
<br />Project Name :项目所在的文件夹名称<br />Application Name: 应用显示在屏幕上的标题 <br />Package Name:包名称,用来区分不同的类 例如:com.android.xxx<br /> <br />min sdk version 和选择android版本:<br />表示程序将运行在哪个系统版本之上,对应的数值关系如下:<br /> Android 1.5:Level API 3<br /> Android 1.6:Level API 4<b
2011-04-06 10:01:00 259
转载 Java和C、C++的区别
<br />对 于 变 量 声 明 、 参 数 传 递 、 操 作 符 、 流 控 制 等 ,Java 使用了 和 C、 C++相 同的 传 统 ,使 得 熟 悉 C、 C++的 程 序 员 能 很 方 便地 进 行 编 程 。 同 时,Java为 了 实 现 其简 单 、 鲁 棒 、 安 全 等 特性 ,也 摒 弃 了 C和 C++中 许 多 不 合 理 的 内容 。 <br /> <br />1.全 局 变 量 <br />Java程 序 中 ,不 能 在 所 有 类 之 外 定 义 全 局 变 量 ,
2011-04-02 16:07:00 366
转载 UML图制作工具:Rational Rose 2003下载及破解
<br />Uml工具Rational Rose 2003下载:http://tseg.org/~dxiao/SEPractice/Rational2003/RationalRoseEnterpriseEditionforWindows.2003.06.00.391.000.exe<br /><br />Rational Rose 2003安装破解文件:http://zixi.bokee.com/inc/sdasdas.rar<br />2003企业版的,破解可用<br />安装步骤:<br />1.双击启
2011-04-01 14:51:00 1589
转载 修改MFC程序图标
1、单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉。注意:一定要把它删除才行。 2、从Developer Studio的Insert菜单中选择Resource,然后选择Icon,新建(New)一个新的图标或导入(Import)一个已有的图标。 3、把新图标的资源ID改为AFX_IDI_STD_MDIFRAME(如果是MDI应用程序)或改为
2011-04-01 11:30:00 1887
原创 打日志
<br />简单的使用RFileLogger类:<br />一、首先要在使用日志类的文件include "flogger.h",然后再加入flogger.lib文件<br /> 类RFileLogger对应的头文件和库文件分别是flogger.h和flogger.lib<br />二、使用<br />1、在类的二阶段构造ConstructL()中加上下面代码:<br />//打开日志文件服务的连接 <br />RFileLogger iLog; <br />iLog.Connect();
2011-03-31 11:18:00 317
原创 Unresolved symbol的错误
在打日志的时候出现如下错误:Unresolved symbol: _ZN11RFileLogger11WriteFormatERK7TDesC16S2_16TFileLoggingMode11TRefByValueIK6TDesC8Ez解决一般有2个方面:1、少库文件。通过SDK查找上面错误的类,在mmp里面加上。2、发现mmp文件已经有此库文件了,但是还错误。就是SDK的本地include里面少头文件、真机编译的release里面少库文件。
2011-03-31 09:53:00 3290
原创 文件对比工具
<br />Beyond Compare 是一款不可多得的专业级的文件夹和文件对比工具。使用他可以很方便的对比出两个文件夹或者文件的不同之处。并把相差的每一个字节用颜色加以表示,查看方便。并且支持多种规则对比。
2011-03-31 09:49:00 414
转载 MFC绘图基础
<br />1 几何对象的结构和类<br />为了使用绘图函数,应该先了解绘图所用到的几种表示几何对象的结构和类。这些结构和类分别定义在头文件windef.h和afxwin.h中。<br /><br />1.点<br />1)点结构POINT<br />点数据结构POINT用来表示一点的x、y坐标:<br /> typedef struct tagPOINT { <br /> LONG x; <br /> LONG y; <br />} POINT;<br /><br /><br />2)点类C
2011-03-30 15:52:00 771
原创 symbian中动态数组CArrayX的使用
symbian中的动态数组有两大类:RArray和CArrayX。1、CArrayX(CArrayFixFlat,CArrayPakFlat,CArrayVarSeg,CArrayPtrFlat,...6个修饰元素:Fix[定长],Pak[压缩],Var[变长],Ptr[指针],Seg[段],Flat[平坦]其存储方式分为连续存储(Flat)和分段存储(Segmented buffer)两种。可以使用的CArray类型:名称 元素大小 缓冲器类型 用法 CArrayFixFlat 固定大小 平面 很少进行分
2011-03-30 15:03:00 381
转载 Symbian系统错误码的解释
Symbian 系统都会出现系统出错,其实解决的方法很简单: 新建一个名为“ErrRd”的空文本文件,放到C:systembootdata这个目录下,让系统在出错时能显示出错代码,这时我们就知道了这个错误代码的原因:系统错误-1-找不到指定文件系统错误-2-一般错误系统错误-3-操作被取消系统错误-4-内存 不足系统错误-5-不支持所要求的操作系统错误-6-错误要求系统错误-7-精确的失去总和系统错误-8-错误的物件系统错误-9-超出限定的界限系统错误-10-少于限定的界限系统错误-11-已经存在了系统错误
2011-03-30 10:17:00 362
转载 symbian错误码大全
一般错误KErrNone 0 KErrNotFound -1 不能找到指定对象 KErrGeneral -2 一般错误(不可预料) KErrCancel -3 操作被取消 KErrNoMemory -4 内存不足 KErrNotSupported -5 该请求操作不被支持 KErrArgument -6 错误请求 KErrTotalLossOfPrecision -7 精度全损 KErrBadHandle -8 错误对象 KErrOverflow -9 上溢 KErrUnderflow
2011-03-30 10:12:00 4624
转载 MFC下拉列表框的用法
<br />Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。<br />1、定义控件对应变量<br />假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComboBox m_cb
2011-03-21 15:55:00 585
原创 字符串和二进制字符串问题以及读写二进制文件
一般针对字符串使用CString和charCString没有长度限制,但字符串以'/0'为结束标志。故要对二进制字符串进行操作,则不能使用CString,而要用CByteArray和char。关于CString:1、是actual字符串,而不是字符串指针,不需要在定义的时候指定长度2、该类重载了+、-、=等运算符,故使用该类来对字符串进行操作比char数组要方便关于CByteArray:1、是比特流,可认为是byte数组,但比直接定义byte数组的操作要简单和方便2、实例化: CByteArray
2011-03-16 12:02:00 3399
原创 sprintf函数
<br />函数原型:<br />intsprintf(char*buffer,constchar*format [,argument] ... );<br /><br />返回值:buffer中存储的字串长度<br />buffer:存储格式化的字符串<br /> <br />例子:<br />#include <stdio.h><br /><br />void main( void )<br />{<br /> char buffer[200], s[] = "computer", c = 'l'
2011-03-15 15:28:00 383
原创 MFC文件打开/保存对话框:CFileDialog
<br /> CFileDialog<br />文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: <br />CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, C
2011-03-15 13:48:00 810
原创 活动对象的使用
<br /><br />*活动对象的典型用法:在某个应用中处理一些事件(如按键事件、屏幕更新等),一般用于在某个单一线程中实现非抢先式多任务。一般线程中都装有一个活动调度器,在这种情况下,程序员可以立即使用活动对象。但是在可执行程序(.exe)中或创建自己的线程时,必须先安装AS,再使用AO.<br /> <br /> <br /> <br />AO的具体使用:<br />1、创建AO,并将其加入到AS中-----<br />MyActiveObject::MyActiveObject() : CActiv
2010-07-16 12:15:00 316
原创 在程序中添加并使用文件
<br />首先,把文件复制或创建到程序的某个目录下(data、group、gfx等)<br /> <br />其次,在pkg文件中添加相应的路径。<br /> 如将file.txt文件复制到file程序的data目录下,希望编译运行后在手机的路径为c:/system/data/file/file.txt<br /> 则应在pkg文件添加如下代码:<br /> "../data/file.txt" - "c:/system/data/file/file.txt"<br /> <br />此
2010-07-14 16:17:00 511
原创 使用TFileText按行读取文本文件
Symbian的文本文件通常都保存为Unicode格式。读写文本文件的常用api是TFileText,由于文本文件通常都为Unicode,所以TFileText api使用16位描述符作为参数。下面的函数演示了如何读取一个文本文件: static void ReadTextFileL(const TDesC& aFileName, TDes& aBuffer) { RFile aFile; User::LeaveIfError(aFile.Open(CCoeEnv::Stat
2010-07-14 15:54:00 677
原创 TBuf8向TBufC的转换
<br />TBuf8<256> buffer;<br />TBufC<256> KBuffer;<br />KBuffer.Des().Copy(buffer);<br /> <br />其他的转换可类似
2010-07-14 15:47:00 266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人