- 博客(28)
- 收藏
- 关注
转载 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
388
原创 如何压缩用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
507
原创 如何得到当前进程的句柄
RProcess对象创建的时候,默认得到的是当前进程的上下文 RProcess currentProcess; //现在该对象的上下文已经是当前进程了currentProcess.FileName(); //得到当前进程的文件句...
2009-05-15 17:15:00
2184
原创 DLL和LIB加载方式的区分
平常习惯了用“LIBRARY xxx”这样形式加载一个系统LIB,以为这就是symbian静态库的加载方式。今日自己写了一个lib, 用"LIBRARY xxx"加载,总是提示我找不到"xxx.dso"文件,郁闷半天一番查阅之后,才知道"LIBRARY xxx"是动态库DLL的加载方式,静态库是用"STATICLIBRARY xxx" 总结一下: DLL文件:xxx.
2009-05-14 23:32:00
564
转载 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
621
1
转载 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
1829
原创 关于symbian系统中STL的使用
众所周知,symbian出于性能及其它方面的考虑,在早期设计的时候并没有将STL纳入symbian系统内。取而代之的是像Descriptor, CArray之类的替代类。这对于习惯了使用STL设计程序的人是一个很大的障碍,并且使得程序的可移植性变得很差。 可能是出于市场的压力,Nokia在S60第三版问世之后(准确说是问世很长一段时间后),推出了Open C/C++的插件
2009-03-25 23:32:00
847
原创 创建本地信息文件夹(MTM Folder)
以下代码展示了如何创建一个本地信息文件夹:VOID CreatePrivateFolder(const TDesC& folderName, TMsvId& newFolderId, BOOL bIsVisible /*= TRUE*/){ CMsvEntry * entry = m_pSession->GetEntryL( KMsvMyFoldersEntryIdValue )
2009-02-17 22:28:00
584
转载 若干经典哈希算法
// RS Hash Functionunsigned int RSHash( char * str){ unsigned int b = 378551 ; unsigned int a = 63689 ; unsigned int hash = 0 ; while ( * str)
2009-01-12 14:17:00
1461
原创 如何找出程序所需要的能力(Capability)
Carbide提供了一个Capability Scan的小插件,通过这个插件就可以找出程序所需要的Capability及相应的函数,很不错的插件~首先"platform security"窗口,Windows--->Show Views--->platform security然后选中工程的mmp文件,右键选择"Run Capability Scanner...",如下图:注意:有时会出来"DEP
2009-01-10 19:34:00
1131
原创 关于找不到.rsg文件的编译错误
新创建一个工程,所有步骤都按照向导来,生成的代码一行没改,OK,编译,error...Fuck!查其原因,说是找不到.rsg文件。到nokia的论坛查了一下,结果如下:rsg文件是编译rss文件的时候自动生成的,所以根本原因是carbide生成的rss没有编译通过。rss文件编译不通过的具体原因可能不尽相同,我的原因是其中的一个define值太长,它自动换行却没有加"/"符号,所以字符串断了截,连
2008-12-25 23:24:00
1593
1
原创 delete和delete[]的区别
可能大家都知道,new和delete,new[]和delete[]要配对使用,但是并不是所有人都知道delete和delete[]到底有什么区别。有人会说,delete不就是删除对象,delete不就是删除数组的嘛。这样的说法应该只能说对了一半。的确,delete[]是用来释放数组,那么如果我用delete释放数组又会怎样呢?这还分两种情况来对待: 1.delete基本数据类型数组 这
2008-12-16 09:47:00
665
原创 Signed变量和Unsigned变量的比较
今日调试一程序,碰到一处断言过不去,可以看了半天就看不出来哪过不去~断言如下:UINT len = 5;ASSERT(len >= -1)N小时之后,无意发现是变量类型不对。len是Unsigned型的,而-1是signed型的。以我的推测,Gcc编译器会将Signed型变量转换成Unsigned,所以这里(len >= -1)就是false了。
2008-12-06 20:09:00
686
原创 Carbide实机调试中碰到的问题
如果修改了源代码,必须先clean一次,再Build才可以运行刚才更新的代码。否则会运行结果跟修改代码前一样。(原因不明,这个很烦,每次都得Clean一次)
2008-12-06 20:01:00
358
原创 Symbian OS Unit Test Framework
众所周知,要想保证软件的质量,单元测试这一步是少不了的。那Symbian中的单元测试如何进行呢? Symbian OS Unit Test Framework ——它是由"Penrillian"公司开发的基于CxxUnit框架的开源软件。但与CppUnit相比,它的框架精简不少。当然,精简框架的代价就是降低了灵活性。如果你有兴趣,可以从以下地址http://www.symbianos
2008-11-28 11:11:00
466
转载 为什么大家觉得Symbian开发比较难?
本人也搞了两个月的Symbian,从做自己的商业应用来说,基本上已经克服了需要面对的技术难题。 如果你感觉到Symbian比较难,原因有几个方面: 1、Symbian没有像VC一样的高度集成的开发环境,版本太多并且又各有不同。为了搭建一个合适的开发环境,我自己至少安装了100遍以上,时间折腾接近一周。为了进行真机测试,我也买了5部Nokia手机,代价真的好大。 2、个人的C++功力问题,如果你
2008-11-19 16:22:00
709
原创 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
437
原创 析构或删除对象时应该注意的问题
这一个星期以来,一个莫名其妙的bug一直困扰着我,让我寝食难安。。class test{private: CMsvEntry *iEntry; CMsvSession* iSession; S3DummyObserver* iObserver;public: test() { iObserver = new S3DummyObserver;
2008-11-09 23:10:00
598
原创 carbide.vs调试技巧——缩减调试时间!
众所周知,symbian程序的调试过程慢得让人无法忍受,每次看着那个emulator痛苦地挣扎出来,我都有一种砸机器的冲动! 有一次无意中在网上看到有人提到一种调试技巧,可以让每次debug的过程不用关掉emulator。过程如下:在工程属性中将debug的command改成epoc.exe,这样程序结束后emulator不会自动退出。在一个工程实例已经打开的情况下,再打开一个工程实例,第二个实
2008-11-09 20:43:00
999
1
转载 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
675
原创 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
736
原创 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
1163
翻译 在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
498
原创 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
1477
原创 inline函数的link错误
今天写代码的时候犯了一个很傻B的错误,将inline函数的声明和定义分别放到了头文件和源文件里了。结果导致link一直出错,说找不到函数。后来一查,发现inline函数的定义如果想给其它地方用,就必须把定义放在头文件里,或者在每个用到的地方再定义一次。因为inline函数只是在编译时进行扩展,如果将定义放到cpp文件里,其它地方将找不到inline函数的定义。它不会像其它函数那样会link过去。原
2008-10-23 23:33:00
1129
原创 Build时碰到的问题
首先申明,我是新手。今日写了一个程序,想要跑起来看看效果,结果各个文件单独编译没有问题,但是一build就出错。说有几个是"undefined symbol",一肚子火。。仔细看了看错误,好像是link的时候出错了,但检查了半天代码也没看出什么问题。后来google了一把,发现是忘了在工程里加"Lib"文件。fuck!到SDK reference找到对应的lib文件,加到mmp文件里,重新buil
2008-09-29 16:59:00
609
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人