技术开发 频道

Symbian 中活动对象的简单使用

  class TimeCount : public CActive

  {

  public :

  static TimeCount* NewLC(); // 构造函数

  ~TimeCount();

  void StartL(); // 计数开始

  void ConstructL();

  void RunL(); // 延时事件到达以后的处理函数

  void DoCancel(); // 取消请求提交

  void setDelayTime(int delayTime);

  private:

  TimeCount();

  RTimer iTimer; // 定时器

  int iTimeCount; // 计数器

  int mTime; // 计数间隔时间 单位秒

  };

  TimeCount::TimeCount():CActive(0) // 这里可以设置活动对象的优先级

  {

  // 把自己加入活动规划器

  CActiveScheduler::Add(this);

  }

  TimeCount* TimeCount::NewLC()

  {

  TimeCount* result = new (ELeave) TimeCount();

  CleanupStack::PushL( result );

  result->ConstructL();

  return result;

  }

  void TimeCount::DoCancel(void)

  {

  iTimer.Cancel();

  }

  void TimeCount::setDelayTime(int mTime)

  {

  DelayTime = mTime;

  }

  TimeCount::~TimeCount()

  {

  Cancel();

  iTimer.Close();

  }

  void TimeCount::StartL()

  {

0
相关文章