Discussion Board

Results 1 to 6 of 6
  1. #1
    Registered User GenSoft's Avatar
    Join Date
    Jan 2008
    Posts
    20
    Нужно сделать, чтобы определенное действие выполнялось с большим интервалом, например передавалось сообщение через 1 час и более. Использовать СPeriodic не получается у него максимум около 34 минут. Нужно видимо "делилку" сделать... Через полчаса сравнивать - если интервал правильный (<34 минуты), то выполнить нужное действие (передать смс), если же интервал больше возможного, то отсчитать ещё полчаса. Пожалуйста, помогите в этом вопросе, не могу никак разобраться

  2. #2
    Nokia Developer Moderator A.A.M.'s Avatar
    Join Date
    Jan 2008
    Location
    Moscow, Russia
    Posts
    3,308
    Я считаю, что в данном случае целесообразно воспользоваться классом RScheduler (см. RScheduler and its Usage)
    Last edited by A.A.M.; 2009-02-11 at 13:17.

  3. #3
    Registered User GenSoft's Avatar
    Join Date
    Jan 2008
    Posts
    20
    А с использованием СPeriodic никак???

  4. #4
    Super Contributor ivey's Avatar
    Join Date
    Jun 2006
    Location
    Moscow, Russia
    Posts
    803
    Quote Originally Posted by GenSoft View Post
    А с использованием СPeriodic никак???
    Заводите его 2 раза по 30 минут...

    Или просто унаследуйтесь от CTimer и сделайте свой таймер.
    Regards,
    ivey

  5. #5
    Registered User GenSoft's Avatar
    Join Date
    Jan 2008
    Posts
    20
    Quote Originally Posted by ivey View Post
    Заводите его 2 раза по 30 минут...

    Или просто унаследуйтесь от CTimer и сделайте свой таймер.
    Наследоваться вряд ли получится. Там параметр задаётся в микросекундах, максимум там полчаса. Я вот как завести его по 2 раза меня как раз то и интересует! Там ведь CallBack, а в нем ввести переменную типа TBool и сравнивать потом если достигло определенного (допустимого) значения, тогда делать то, что нужно, а если не достигло, то ничего не делать, просто продолжать, не получается или чего-то не допонимаю

  6. #6
    Nokia Developer Moderator truf's Avatar
    Join Date
    Jun 2007
    Location
    Moscow, Russia
    Posts
    1,355
    Объявите в своем классе CMyClass
    Code:
    CPeriodic* iPeriodic;
    TBool iDoIt;
    static TInt CallBackProc(TAny* aParam);
    Создание и запуск iPeriodic:
    Code:
    iPeriodic = CPeriodic::NewL(EPriorityNormal);
    iPeriodic->Start(KMyPeriod, KMyPeriod, TCallBack(CallBackProc, this));
    В CallBackProc:
    Code:
    TInt CMyClass::CallBackProc(TAny* aParam)
    {		
    TBool& DoIt = static_cast<CMyClass*>(aParam)->iDoIt;
    
    if (DoIt) {...}
    
    DoIt  = !DoIt;
    
    return ETrue;
    }

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved