彻底理解 Symbian 活动对象
2010-08-24 05:50:00 来源:WEB开发网Symbian编程总结-基础篇-活动对象正解(2)-使用活动对象
我们已经大致了解了活动对象的基本概念,要使用活动对象机制,需要用到活动对象、活动调度器、异步函数。我们想使用异步函数,要按照应用程序->活动对象->活动调度器->异步函数的流程来使用。接下来我们开始进入实战,使用活动对象。
一、创建活动调度器
我们知道,活动调度器是应用程序和异步函数之间的桥梁,应用程序使用活动对象通过活动调度器去截获异步函数的返回“完成”消息,并以事件的方式通知应用程序。
使用Carbide C++ 1.3,通过模板向导生成的控制台程序自动为我们生成了创建活动调度器的代码:
CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
CActiveScheduler::Install(scheduler);
CActiveScheduler::Install()方法调用以后,内部代码就会将scheduler指针赋值给CActiveScheduler类内部的静态指针,后面的代码就可以方便的使用CActiveScheduler类的静态方法,如:
IMPORT_C static void Add(CActive*static voidstatic void Stop();
二、创建活动对象
1、我们创建的活动对象必须派生自CActive类,CActive类已经为我们准备好了iStatus成员变量:
public:
TRequestStatus iStatus;
private
另外一个成员变量iActive起着标识作用,证明该活动对象已经请求了异步函数,如:
RTimer::After(iStatus, 1000000
SetActive()方法为基类CActive的方法,其实就是将iActive = ETrue;,用来标识活动对象已经调用了异步函数。所以,我们只要调用了异步函数,在调用异步函数的代码后面应该紧挨着调用SetActive()方法的代码。
更多精彩
赞助商链接