使用CPeriodic的时候,在调用的TCallBack事件里面创建一个对话框,出现CONE 44错误
我用的SDK是 UIQ 3.1。在一个叫Progress的工程中,我在CProGressView类里面定义了一个CPeriodic对象iTimer。下面是部分代码:
void CProgressView::HandleCommandL(CQikCommand& aCommand) { switch (aCommand.Id()) { case EProgressInfoPrint1Cmd: { break; } case EProgressInfoPrint2Cmd: { iTimer->Start(1000,1000,TCallBack(CallTimer,this)); break; } case EProgressInfoPrint3Cmd: { break; } // Go back and exit command will be passed to the CQikViewBase to handle. default: CQikViewBase::HandleCommandL(aCommand); break; } }
TInt CProgressView::CallTimer(TAny *aThis) { CProgressView* self=static_cast<CProgressView*>(aThis); self->OnTimer(); }void CProgressView::OnTimer() { if(iTimerTick==0) //iTimerTick为计数器,初始值为0 { CLabelDialog::RunDlgLD(); //创建一个对话框CLabelDialog,CLabelDialog为自己定义的一个对话框类。 } iTimerTick++; }