WEB开发网
开发学院手机开发Symbian 开发 Symbian 开发中的一些小知识 阅读

Symbian 开发中的一些小知识

 2010-06-22 19:53:00 来源:WEB开发网   
核心提示:}PACKED avl1;typedef struct {char name[22];int length, crc32;}PACKED avd1;#pragma pack(4)复制代码简单实现一个延时或者计时功能你需要完成最少三个步骤:一、创建CPeriodic对象,如void CPeriodicRunner::St

}PACKED avl1;

typedef struct {

char name[22];

int length, crc32;

}PACKED avd1;

#pragma pack(4)

复制代码

简单实现一个延时或者计时功能

你需要完成最少三个步骤:

一、创建CPeriodic对象,如

void CPeriodicRunner::StartTimer()

{

const TInt tickInterval=1000000;

iPeriodic=CPeriodic::NewL(0); // neutral priority

iPeriodic->Start(tickInterval,tickInterval,TCallBack(Tick, this));

}

CPeriodic::Start原型为:void Start(TTimeIntervalMicroSeconds32 aDelay,TTimeIntervalMicroSeconds32 anInterval,TCallBack aCallBack);

复制代码

因此我们需要有一个callback函数,在每次回调时能做点什么,于是有了第二个步骤

二、Callback函数的完成

TInt CPeriodicRunner::Tick(TAny* aObject)

{

// cast, and call non-static function

((CPeriodicRunner*)aObject)->DoTick();

return 1;

}

复制代码

如果您不熟悉TCallBack,可以参考SDK,上面这个函数完成了计时的时候相应的循环动作(DoTick)

三、计时器的析构

在计时停止或外界终止后,需要停止该计时器,一句话即可:

CPeriodicRunner->Cancel();

上一页  1 2 3 4 

Tags:Symbian 开发 一些

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