CPeriodic周期类的使用

来源:互联网 发布:coredata删除所有数据 编辑:程序博客网 时间:2024/05/17 16:16
CPeriodic周期类的使用


CPeriodic* iPeriodicTimer;
iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityStandard );//对周期类的初始声明,通常在二次构造中

void CClass::StartTimer()//开始启动时钟

    {

    if ( !iPeriodicTimer->IsActive() )

        {iPeriodicTimer->Start( 1, 1,

            TCallBack( CClass::Period, this ) );//TcallBack是一个回调函数,他只能回调类中的静态方法。

        }

    }

TInt CClass::Period( TAny* aPtr )//周期启动函数,在头文件中申明静态函数static。

    {

    ( static_cast<CClass*>( aPtr ) )->DoPeriodTask();

    return ETrue;

    }

void CClass::DoPeriodTask()//周期真正在做的事情

    {

    update();//周期类的一些更新操作,在这里实现想要做的

    }

void CClass::StopTiem()//终止周期类

    {

    if ( iPeriodicTimer->IsActive() )

        {

        iPeriodicTimer->Cancel();
    }
   }