Symbian IAP相关…

1.从CommDb中获取接入点信息:

 
CCommsDatabase*  DB=CCommsDatabase::NewL(EDatabaseTypeIAP);
CleanupStack::PushL(DB);
CCommsDbTableView* view= DB->OpenIAPTableViewMatchingBearerSetLC(
ECommDbBearerGPRS|ECommDbBearerWLAN, //GPRS和无线局域网
ECommDbConnectionDirectionOutgoing); //方向无所谓的,写Unknown也可以
User::LeaveIfError(view->GotoFirstRecord()); //转到第一条记录

Continue reading…

blog从movable type转为使用word press了

这次事件的直接导火索是mt升级4.261的过程,升级过程基本顺利,但是结果mt把我的数据库搞得一团糟,utf-8设置下的数据库缺变成了GB2312编码的文字,直接导致后台以及生成的页面中中文字符串显示为乱码。一想反正mt的模板也是N久没有更新了,也懒得折腾了,又加上前段时间尝试使用mobile写mt的失败,而wordpress似乎有挺不错的wap以及xml-rpc支持,于是就尝试一下吧。唯一有点舍不得的就是原来辛苦配置好的静态发布+htaccess动态文章页面。反正被搞乱的mt数据库依然存在,代码也处于保留状态,文字编码的问题答案也已明了,试试wordpress吧,没准以后还会换回mt。

RGA在非官方支持平台上的可安装情况

虽然nokia官方声明的随open c放出的RGA图形声音库只能在s60 3rd中的部分机型上使用,但根据其本质(新N-Gage的一部分)分析,理论上应该可以应用于所有s60 3rd机型,新N-Gage平台通过破解手机证书系统可以实现安装在所有三版机上,但由于硬件性能的差别导致部分n-gage游戏在N73这类机型上不能正常运行。目前测试的在E71机型上可以正常安装RGA库,可用性还有待测试。

[ZT]S60 3rd FP1 SDK编译的SDK自带的例子在N73上无法正确显示程序图标

基本原因是Nokia的mifconf变了。

方法1:
找到S60 3rd MR SDK中的mifconv.exe, 用其替换3rd FP1以及之后的SDK的mifconv.exe应该可以解决图
标消失问题。
3rd FP1以及之后的SDK的mifconv.exe生成的mif文件尺寸明显小于早期版本生成的mif文件,也许Nokia修改了mif的压缩算法导致图标不能兼容。

自己琢磨出方法1后,在网络上找到了另外一种方法。
方法2:
Issue with SVG icon display on 3rd edition
From Forum Nokia Wiki

SVG(scalable vector graphics) icons sometimes do not show up on S60
3rd edition devices when built with S60 3rd edition SDK.

This problem is because of the fact that mifconv.exe compresses the
icons which the devices are unable to read.

To fix this issue,disable the SVG compression option by specifying
‘/X’ option in mifconv.exe.
Retrieved from “http://wiki.forum.nokia.com/index.php/Issue_with_SVG_icon_display_on_3rd_edition”

[ZT]怎样写参数个数可变的宏?

一种流行的技巧是用一个单独的用括弧括起来的的 “参数” 定义和调用宏, 参数在宏扩展的时候成为类似 printf() 那样的函数的整个参数列表。

#define DEBUG(args) (printf("DEBUG: "), printf args)
if(n != 0) DEBUG(("n is %d\n", n));

明显的缺陷是调用者必须记住使用一对额外的括弧。

gcc 有一个扩展可以让函数式的宏接受可变个数的参数。 但这不是标准。另一种可能的解决方案是根据参数个数使用多个宏 (DEBUG1, DEBUG2, 等等), 或者用逗号玩个这样的花招:

#define DEBUG(args) (printf("DEBUG: "), printf(args))
#define _ ,
DEBUG("i = %d" _ i);

C99 引入了对参数个数可变的函数式宏的正式支持。在宏 “原型” 的末尾加上符号 … (就像在参数可变的函数定义中), 宏定义中的伪宏 __VA_ARGS__ 就会在调用是替换成可变参数。

最后, 你总是可以使用真实的函数, 接受明确定义的可变参数。参见问题 15.415.5。如果你需要替换宏, 使用一个函数和一个非函数式宏, 如 #define printf myprintf。

参考资料: [C9X, Sec. 6.8.3, Sec. 6.8.3.1]。

RGA app in symbian tasks list

As far as I checked RGA example applications don’t appear in Symbian tasks list.
Am I missing something or it’s not supported?
Does anyone know how to fix it?

Well, N-Gage applications don’t show in the task list. Generally I think only S60 GUI applications show up there.

To hide an app:
CApaWindowGroupName has a SetHidden() method which you call with ETrue.

To make one visible you could try SetHidden(EFalse)…

I am wondering if the system considers an RGA application as a non-gui app, or whether they’re just deliberately hidden for N-Gage.

Sorcery