Symbian
misuo
一个除了理想,暂时什么都没有的上海IT小“白领”
展开
-
Build时碰到的问题
首先申明,我是新手。今日写了一个程序,想要跑起来看看效果,结果各个文件单独编译没有问题,但是一build就出错。说有几个是"undefined symbol",一肚子火。。仔细看了看错误,好像是link的时候出错了,但检查了半天代码也没看出什么问题。后来google了一把,发现是忘了在工程里加"Lib"文件。fuck!到SDK reference找到对应的lib文件,加到mmp文件里,重新buil原创 2008-09-29 16:59:00 · 577 阅读 · 0 评论 -
Carbide实机调试
留位原创 2008-12-04 12:10:00 · 409 阅读 · 0 评论 -
Carbide实机调试中碰到的问题
如果修改了源代码,必须先clean一次,再Build才可以运行刚才更新的代码。否则会运行结果跟修改代码前一样。(原因不明,这个很烦,每次都得Clean一次)原创 2008-12-06 20:01:00 · 344 阅读 · 0 评论 -
创建本地信息文件夹(MTM Folder)
以下代码展示了如何创建一个本地信息文件夹:VOID CreatePrivateFolder(const TDesC& folderName, TMsvId& newFolderId, BOOL bIsVisible /*= TRUE*/){ CMsvEntry * entry = m_pSession->GetEntryL( KMsvMyFoldersEntryIdValue )原创 2009-02-17 22:28:00 · 557 阅读 · 0 评论 -
关于找不到.rsg文件的编译错误
新创建一个工程,所有步骤都按照向导来,生成的代码一行没改,OK,编译,error...Fuck!查其原因,说是找不到.rsg文件。到nokia的论坛查了一下,结果如下:rsg文件是编译rss文件的时候自动生成的,所以根本原因是carbide生成的rss没有编译通过。rss文件编译不通过的具体原因可能不尽相同,我的原因是其中的一个define值太长,它自动换行却没有加"/"符号,所以字符串断了截,连原创 2008-12-25 23:24:00 · 1556 阅读 · 1 评论 -
关于symbian系统中STL的使用
众所周知,symbian出于性能及其它方面的考虑,在早期设计的时候并没有将STL纳入symbian系统内。取而代之的是像Descriptor, CArray之类的替代类。这对于习惯了使用STL设计程序的人是一个很大的障碍,并且使得程序的可移植性变得很差。 可能是出于市场的压力,Nokia在S60第三版问世之后(准确说是问世很长一段时间后),推出了Open C/C++的插件原创 2009-03-25 23:32:00 · 821 阅读 · 0 评论 -
avkon2.mif图标
EMbmAvkonQgn_graf_tab_21, bmp EMbmAvkonQgn_graf_tab_22, bmp EMbmAvkonQgn_graf_tab_31, bmp EMbmAvkonQgn_graf_tab_32, bmp EMbmAvkonQgn_graf_tab_33, bmp EMbmAvkonQgn_graf_tab_41,转载 2009-04-27 10:06:00 · 1794 阅读 · 0 评论 -
How to draw an Icon on the IndicatorPane of Series 60
Link: http://www.newlc.com/How-to-draw-an-Icon-on-the.html Here is a way to show an iconon the IndicatorPane of Series 60. You can show an icone near to thebattery pane or signal pane, for t转载 2009-04-27 10:53:00 · 601 阅读 · 1 评论 -
DLL和LIB加载方式的区分
平常习惯了用“LIBRARY xxx”这样形式加载一个系统LIB,以为这就是symbian静态库的加载方式。今日自己写了一个lib, 用"LIBRARY xxx"加载,总是提示我找不到"xxx.dso"文件,郁闷半天一番查阅之后,才知道"LIBRARY xxx"是动态库DLL的加载方式,静态库是用"STATICLIBRARY xxx" 总结一下: DLL文件:xxx.原创 2009-05-14 23:32:00 · 533 阅读 · 0 评论 -
如何得到当前进程的句柄
RProcess对象创建的时候,默认得到的是当前进程的上下文 RProcess currentProcess; //现在该对象的上下文已经是当前进程了currentProcess.FileName(); //得到当前进程的文件句...原创 2009-05-15 17:15:00 · 2151 阅读 · 0 评论 -
如何压缩用3rd MR SDK编译出来的程序
同时用过MR, FP1, FP2这几个SDK的人肯定会发现,用MR编出来的程序比其它两个SDK编译出来的要大很多。。其实这只是MR和FP1, FP2默认的编译选项不同罢了。在MMP文件里加一个选项"OPTION GCCE -O2 -fno-unit-at-a-time",重新用MR编译一下,程序很明显的变小了如果你仔细比较的话,会发现MR编出来的还是要大个几十K,不过这一点相对于一个几百K原创 2009-05-16 17:42:00 · 479 阅读 · 0 评论 -
Symbian OS Unit Test Framework
众所周知,要想保证软件的质量,单元测试这一步是少不了的。那Symbian中的单元测试如何进行呢? Symbian OS Unit Test Framework ——它是由"Penrillian"公司开发的基于CxxUnit框架的开源软件。但与CppUnit相比,它的框架精简不少。当然,精简框架的代价就是降低了灵活性。如果你有兴趣,可以从以下地址http://www.symbianos原创 2008-11-28 11:11:00 · 447 阅读 · 0 评论 -
为什么大家觉得Symbian开发比较难?
本人也搞了两个月的Symbian,从做自己的商业应用来说,基本上已经克服了需要面对的技术难题。 如果你感觉到Symbian比较难,原因有几个方面: 1、Symbian没有像VC一样的高度集成的开发环境,版本太多并且又各有不同。为了搭建一个合适的开发环境,我自己至少安装了100遍以上,时间折腾接近一周。为了进行真机测试,我也买了5部Nokia手机,代价真的好大。 2、个人的C++功力问题,如果你转载 2008-11-19 16:22:00 · 654 阅读 · 0 评论 -
如何找出程序所需要的能力(Capability)
Carbide提供了一个Capability Scan的小插件,通过这个插件就可以找出程序所需要的Capability及相应的函数,很不错的插件~首先"platform security"窗口,Windows--->Show Views--->platform security然后选中工程的mmp文件,右键选择"Run Capability Scanner...",如下图:注意:有时会出来"DEP原创 2009-01-10 19:34:00 · 1098 阅读 · 0 评论 -
inline函数的link错误
今天写代码的时候犯了一个很傻B的错误,将inline函数的声明和定义分别放到了头文件和源文件里了。结果导致link一直出错,说找不到函数。后来一查,发现inline函数的定义如果想给其它地方用,就必须把定义放在头文件里,或者在每个用到的地方再定义一次。因为inline函数只是在编译时进行扩展,如果将定义放到cpp文件里,其它地方将找不到inline函数的定义。它不会像其它函数那样会link过去。原原创 2008-10-23 23:33:00 · 1077 阅读 · 0 评论 -
Messaging之基本概念
v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0原创 2008-10-30 23:03:00 · 1431 阅读 · 0 评论 -
Symbian中的异常处理
留位原创 2008-10-30 23:11:00 · 251 阅读 · 0 评论 -
在emulator和device中显示panic code
S60 v1 and v2在“Epoc32/Wins/c/system/Bootdata”,或者在“Epoc32/Winscw/c/system/Bootdata”(如果你在用Codewarrior)目录中创建一个名叫“ErrRd”的空文件。如果是在目标机上,则在"C:/system/Bootdata"目录创建相同的文件。S60 v3启动Emulator,打开"Tools / Preference翻译 2008-11-05 18:11:00 · 462 阅读 · 0 评论 -
Carbide.VS 3.0.1的安装问题
在Carbide.VS过程中一个常见的问题是检测不到已安装的SDK,特别是S60v3 FP2。这样的话,安装无法完成,恼人得很。找了很久才找到解决的办法。 步骤1: 打开注册表,找到"HKEY_LOCAL_MACHINE/SOFTWARE/Nokia/",创建新项"Carbide.vs.30",然后在新项里添加字符串值"ForcePrereq" = "1"。(这一步是为了让安装程序原创 2008-11-06 16:31:00 · 1131 阅读 · 0 评论 -
carbide.vs的debug问题
昨天终于把carbide.vs成功装上了,兴奋了半天,结果今天跑来一试,不能debug,烦死了!新建工程后,debug,结果VS只把emulator调用出来了,刚才编译的程序没有被调用!好事多磨啊。。晚上回来,决定试试carbide.vs 2.0.2吧,配置是VS2003 + carbide.vs 2.0.2 + S60v3 FP2看carbide的文档上支持的SDK列表中没有S60v3 FP2,原创 2008-11-08 00:21:00 · 721 阅读 · 0 评论 -
析构或删除对象时应该注意的问题
这一个星期以来,一个莫名其妙的bug一直困扰着我,让我寝食难安。。class test{private: CMsvEntry *iEntry; CMsvSession* iSession; S3DummyObserver* iObserver;public: test() { iObserver = new S3DummyObserver;原创 2008-11-09 23:10:00 · 572 阅读 · 0 评论 -
Inside CBase class - six essential questions
Everybody knowsC-class in Symbian, the so called C-class is the one derived from classCBase. CBase is widely used in Symbian APIs, because it represents theclass which should be created on heap.转载 2008-11-09 20:19:00 · 650 阅读 · 0 评论 -
carbide.vs调试技巧——缩减调试时间!
众所周知,symbian程序的调试过程慢得让人无法忍受,每次看着那个emulator痛苦地挣扎出来,我都有一种砸机器的冲动! 有一次无意中在网上看到有人提到一种调试技巧,可以让每次debug的过程不用关掉emulator。过程如下:在工程属性中将debug的command改成epoc.exe,这样程序结束后emulator不会自动退出。在一个工程实例已经打开的情况下,再打开一个工程实例,第二个实原创 2008-11-09 20:43:00 · 969 阅读 · 1 评论 -
carbide.vs的bug不断
好不容易弄好了carbide.vs的环境,才用几天,就发现很多莫名其妙的bug,开始以为是我的程序写得有问题,后来转到carbide.c++平台就一切正常。看来nokia对carbide.vs支持得还是不够好,我也只能放弃了。。 carbide.vs 3.0.1有时会在调用SDK接口时直接失败。 carbide.vs 2.0.2的指针有时会莫名的跳转,本来刚申请的内存,到另一个原创 2008-11-15 00:06:00 · 412 阅读 · 0 评论 -
Using Tabs API
Tabs API: Using Tabs APICreating tab group control from resourceAccessing tab group control created from resourceCreating tab group control dynamically from resourceCre转载 2009-06-02 17:07:00 · 362 阅读 · 0 评论