×

Discussion Board

Page 1 of 2 12 LastLast
Results 1 to 15 of 20
  1. #1
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Cmsventryselection Break point runtime error

    I'm writing a code that accessin pop3 email at the container constructL , the code as the following:

    void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect)
    //void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect,CDisplayMessageFolderAppUi* aParent)
    { //----->New Statement
    CreateWindowL();
    iListBox=new(ELeave)CAknDoubleStyleListBox;
    iListBox->ConstructL(this,EAknListBoxSelectionList);
    iListBox->SetContainerWindowL(*this);
    SetRect(aRect);
    CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    iSession = CMsvSession::OpenAsyncL(*this);
    CleanupStack::PushL(iSession);
    TMsvSelectionOrdering ordering;
    iMtmReg = CClientMtmRegistry::NewL(*iSession);
    CPop3ClientMtm* pop3Mtm = static_cast<CPop3ClientMtm*>(iMtmReg >NewMtmL(KUidMsgTypePOP3));
    CleanupStack::PushL(pop3Mtm);
    CImPop3Settings* tempsettings = new (ELeave) CImPop3Settings();
    CImPop3Settings &settings =tempsettings->CopyL(pop3Mtm->Settings());
    settings.Reset();
    settings.SetServerAddressL(KPOP3Server1);
    settings.SetLoginNameL(KPOP3LoginName1);
    settings.SetPasswordL(KPOP3Password1);
    settings.SetPort(KPop3Port1);
    settings.SetInboxSynchronisationLimit(0);
    CleanupStack::PushL(&settings);
    CMsvEntrySelection *selection =pop3Mtm->Entry().ChildrenL(); CleanupStack::PushL( selection );
    TBuf8<1> dummyParams;//dummy parameters needed for InvokesyncFunctionL
    pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*selection,dummyParams);//Not Work


    When I run the above code on the emulator it stops on the following line:
    CMsvEntrySelection *selection =pop3Mtm->Entry().ChildrenL();

    The Run time error said:
    Unhandled exception at 0x6001da76 in epoc.exe: User breakpoint.

    Run-time error:

    @return CMsvEntry for the current context */
    {
    __ASSERT_DEBUG(iMsvEntry!=NULL, User::Panic(KMtclPanicString, 275));
    return *iMsvEntry;
    };

    What I should assign a value to (selection) to avoid the run-time error?

  2. #2
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,572

    Re: Cmsventryselection Break point runtime error

    As it seems, the pop3mtm has no default entry (I do not know if any mtm has). Use SwitchCurrentEntry.

  3. #3
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    Thanks wizard_h you are the first one that helps me , how I Initialize (CPop3ClientMtm ) ? and about (SwitchCurrentEntry) for which class that I use it?
    and why?

  4. #4
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    I think I did the initialization , Here it is:

    CPop3ClientMtm* pop3Mtm = static_cast<CPop3ClientMtm*>(iMtmReg >NewMtmL(KUidMsgTypePOP3));

  5. #5
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,572

    Re: Cmsventryselection Break point runtime error

    You should invoke a pop3Mtm->SwitchCurrentEntry(...); (the method inherited from CBaseMtm), since you are getting ChildrenL of an unspecified entry.
    As I remember, you have already experimented a lot with SMS-s. When you have created an SMS, in that case you have also had to set a current entry (usually the Draft folder) before CreateL, and the same for the case when you have been listing SMSs. In that case, you have probably SwitchCurrentEntry-ed to GlobalInboxFolderEntryId. Unfortunately for POP3 messages I do not know, whether you should specify the GlobalInbox... or an account-specific one.

  6. #6
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    Thanks for this clarification I'll do it and then telling you the result.

  7. #7
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    wizard_hu_ I want ask some question , we must define the setting of the email that will be recived as the following lines:

    settings.Reset();
    settings.SetServerAddressL(KPOP3Server1);
    settings.SetLoginNameL(KPOP3LoginName1);
    settings.SetPasswordL(KPOP3Password1);
    settings.SetPort(KPop3Port1);
    settings.SetInboxSynchronisationLimit(0);
    CleanupStack::PushL(&settings);

    So how we can relarte it to the (Cbasemtm)?
    And the second think Is it necessary also to create (CbaseMtmUi) when It listed inside the list box? or we just use it to display one selected message from the list e.g.: Detailes of message in the list box?

  8. #8
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    I did (pop3Mtm->SwitchCurrentEntry(...) but now the program stops on it (without any error) and waiting form me to press the application Icon , when I press the Icon it stops in the statement pop3Mtm->SwitchCurrentEntry(...) and so on...

    What I should do now?

  9. #9
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    Hi wizard_hu_ Thanks Alot about your help , but I need little assitance from you before
    I run my code into my phone can you tell me is the bellow code is IDEAL (at least 60%) for work or I should do some modifications on it:

    void CDisplayMessageFolderContainer::GetInboxEmail()
    {
    //--->The Original
    CMsvEntry* serverEntry = iSession->GetEntryL(iEntry->EntryId());
    CleanupStack::PushL( serverEntry );
    CPop3ClientMtm* pop3Mtm = static_cast<CPop3ClientMtm*>(iMtmReg->NewMtmL(KUidMsgTypePOP3));
    CleanupStack::PushL(pop3Mtm);
    pop3Mtm->SwitchCurrentEntryL( serverEntry->EntryId() );
    //------>Setting And Saving Pop3 Account
    CImPop3Settings* tempsettings = new (ELeave) CImPop3Settings();
    CImPop3Settings &settings =tempsettings->CopyL(pop3Mtm->Settings());
    settings.Reset();
    settings.SetServerAddressL(KPOP3Server1);
    settings.SetLoginNameL(KPOP3LoginName1);
    settings.SetPasswordL(KPOP3Password1);
    settings.SetPort(KPop3Port1);
    settings.SetInboxSynchronisationLimit(0);
    CleanupStack::PushL(&settings);
    pop3Mtm->SetSettingsL(settings);
    //pop3Mtm->SwitchCurrentEntryL(iNewMessageId);
    CMsvEntry* service=&pop3Mtm->Entry();//&clientMtm->Entry();//
    CleanupStack::PushL( service );
    CMsvEntrySelection *selection =service->ChildrenL();//pop3Mtm->Entry().ChildrenL(); // a selection of all entries in the mail box
    CleanupStack::PushL( selection );
    TBuf8<1> dummyParams;//dummy parameters needed for InvokesyncFunctionL
    CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
    _LIT(messageChanged,"Synchronization Will be Started");
    informationNote->ExecuteLD(messageChanged);
    //---->For Asynchronouse Calls
    pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*selection,dummyParams);//Not Work
    //pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*pop3Mtm->Entry().ChildrenL(),dummyParams);//Also Here Not Work
    _LIT(messageAfter,"Synchronization Ended");
    informationNote->ExecuteLD(messageAfter);
    //------>
    //---->End of The New Modifications
    //---->Original
    //CleanupStack::PushL(session);//KMsvGlobalOutBoxIndexEntryId
    //CMsvEntry *drafts=iSession->GetEntryL(KMsvDraftEntryId);
    //CMsvEntry *drafts=session->GetEntryL(KMsvGlobalInBoxIndexEntryId);
    //CMsvEntry *drafts=session->GetEntryL(KMsvGlobalOutBoxIndexEntryId);
    //CleanupStack::PushL(drafts);
    //CMsvEntrySelection *children=drafts->ChildrenL();
    //---->End Of the Original
    //------------------------------>Loop For Listing The Email Messages
    CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    CMsvEntrySelection *children=pop3Mtm->Entry().ChildrenL();//iEntry->ChildrenL();
    CleanupStack::PushL(children);
    _LIT(KItemFormat,"\t%S\t%S");
    TBuf<100> buf;
    TInt EmMesCount=0; ///--->To Count The Email Messages Not Other (e.g.:sms)
    for(TInt i=0;i<children->Count();i++)
    {
    //--->The Original
    //CMsvEntry *child=drafts->ChildEntryL((*children)[i]);
    CMsvEntry *child=pop3Mtm->Entry().ChildEntryL((*children)[i]);//iEntry->ChildEntryL((*children)[i]);
    const TMsvEntry &entry=child->Entry();
    if ( ( iSession->GetEntryL( children->At( i ) ) )->Entry().iMtm == KUidMsgTypePOP3)
    {
    buf.Format(KItemFormat,&entry.iDescription,&entry.iDetails);
    EmMesCount++;
    }
    delete child;
    array->AppendL(buf);
    }
    if (EmMesCount > 0)
    {
    CAknInformationNote* informationNote2 = new (ELeave)CAknInformationNote;
    informationNote2->ExecuteLD(_L("Getting Messages From Your Email"));
    }
    CleanupStack::PopAndDestroy(5);//(5); // (3)children, drafts, session
    //---->
    iListBox->Model()->SetItemTextArray(array);
    //iListBox->Model()->SetOwner
    iListBox->SetCurrentItemIndex(0);
    iListBox->SetFocus(ETrue);
    }

    void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect)
    //void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect,CDisplayMessageFolderAppUi* aParent)
    { //----->New Statement
    CreateWindowL();
    iListBox=new(ELeave)CAknDoubleStyleListBox;
    iListBox->ConstructL(this,EAknListBoxSelectionList);
    iListBox->SetContainerWindowL(*this);
    //CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    SetRect(aRect);
    ActivateL();
    iListBox->SetSize(aRect.Size());
    iSession = CMsvSession::OpenAsyncL(*this);
    iMtmReg = CClientMtmRegistry::NewL( *iSession );
    iEntry = CMsvEntry::NewL(*iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
    }
    void CDisplayMessageFolderContainer::HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3) //HandleSessionEventL
    {
    //--->To Be Added When Needed
    CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
    switch(aEvent)
    {
    // the messaging server is ready
    case MMsvSessionObserver::EMsvServerReady:
    {
    TMsvId serviceId(KMsvRootIndexEntryId); // Pop3 service id
    //TMsvId serviceId; // Pop3 service id
    //serviceId=KMsvRootIndexEntryId;
    // Determine if the event was succesful.
    // ServiceProgress inserts TBuf8 value in progress.
    TBuf8<KBfrLength> progress;
    iSession->ServiceProgress( serviceId, progress );
    _LIT8( KCompare, "KErrNone");
    if ( progress.Compare( KCompare ))
    {
    //HBufC* text = StringLoader::LoadLC( "Email Session Server Starts" );
    _LIT(ServerStarts,"Email Session Server Starts");
    informationNote->ExecuteLD(ServerStarts);
    //CleanupStack::PopAndDestroy( text );
    // Check that MtmRegistry has not already been accessed.
    if ( !iMtmReg )
    {
    iMtmReg = CClientMtmRegistry::NewL( *iSession );
    //AccessMtmL();
    }
    if (!iEntry)
    {
    iEntry = CMsvEntry::NewL(*iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
    }
    }
    else
    {
    //HBufC* text = StringLoader::LoadLC( R_EMAIL_SESSION_ERROR );
    _LIT(ServerFailed,"Email Session Server Faild To Start Error");
    CAknErrorNote* errorNote = new ( ELeave ) CAknErrorNote;
    errorNote->ExecuteLD(ServerFailed);
    //CleanupStack::PopAndDestroy( text );
    }
    break;
    }
    //case MMsvSessionObserver::EMsvEntriesChanged:
    case MMsvSessionObserver::EMsvEntriesCreated:
    {
    // We are interested in messages that are created in Inbox
    _LIT(messageChanged,"Entries Created");
    informationNote->ExecuteLD(messageChanged);
    // Only look for changes in the Inbox
    if (*(static_cast<TMsvId*>(aArg2)) == KMsvGlobalInBoxIndexEntryId)//KObservedFolderId)
    {
    CMsvEntrySelection* entries = static_cast<CMsvEntrySelection*>(aArg1);
    iNewMessageId = entries->At(0);
    DisplayMessageL(iNewMessageId);
    }
    break;
    //------------>

    }
    //case MMsvSessionObserver::EMsvEntriesCreated:
    case MMsvSessionObserver::EMsvEntriesChanged:
    {
    _LIT(messageCreated,"Message Entries Changed");
    informationNote->ExecuteLD(messageCreated);
    if (*(static_cast<TMsvId*>(aArg2)) == KMsvGlobalInBoxIndexEntryId)
    {
    CMsvEntrySelection* entries = static_cast<CMsvEntrySelection*>(aArg1);
    if (iNewMessageId == entries->At(0))
    {
    // Set entry context to the new message
    iEntry->SetEntryL(iNewMessageId);
    // Check the type of the arrived message and that the message is complete.
    // only SMS are our consern
    if ( iEntry->Entry().iMtm != KUidMsgTypePOP3 || iEntry->Entry().iMtm != KUidMsgTypeIMAP4 || !iEntry->Entry().Complete() )
    {
    return;
    }
    }
    // Read-only store.
    //CMsvStore* store = iEntry->ReadStoreL();
    //CleanupStack::PushL(store);
    DisplayMessageL(iEntry->EntryId());
    //CleanupStack::PopAndDestroy(store);
    }
    break;

    }
    //----->
    case MMsvSessionObserver::EMsvCloseSession:
    {
    _LIT(messageClose,"Sesion Closed");
    informationNote->ExecuteLD(messageClose);
    iSession->CloseMessageServer();
    break;
    }
    case MMsvSessionObserver::EMsvServerTerminated:
    {
    _LIT(messageTerminate,"Sesion Terminated");
    informationNote->ExecuteLD(messageTerminate);
    iSession->CloseMessageServer();
    break;
    }
    case MMsvSessionObserver::EMsvGeneralError:
    case MMsvSessionObserver::EMsvServerFailedToStart:
    {
    //iObserver.HandleEngineChangedEventL(MMsvObserver::EFatalServerError);
    _LIT(messageError,"Error At The Messaging Server");
    informationNote->ExecuteLD(messageError);
    //iObserver.HandleError(MMsvObserver::EFatalServerError);
    break;
    }
    //----->

    break;
    }
    }

    void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect)
    //void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect,CDisplayMessageFolderAppUi* aParent)
    { //----->New Statement
    CreateWindowL();
    iListBox=new(ELeave)CAknDoubleStyleListBox;
    iListBox->ConstructL(this,EAknListBoxSelectionList);
    iListBox->SetContainerWindowL(*this);
    //CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    SetRect(aRect);
    ActivateL();
    iListBox->SetSize(aRect.Size());
    iSession = CMsvSession::OpenAsyncL(*this);
    iMtmReg = CClientMtmRegistry::NewL( *iSession );
    iEntry = CMsvEntry::NewL(*iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
    }
    Thanks Again Your help is appriciated

  10. #10
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    Is it necessary also to create (CbaseMtmUi) when It listed inside the list box? or we just use it to display one selected message from the list e.g.: Detailes of message in the list box?

  11. #11
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    I test it on the emulator it gives a run time error on :
    pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*selection,dummyParams);//Not Work

    Do you think it needs to be tested on the mobile instead? I mean is it gives a run time error if it doesn't has a (GPRS) e.g.: on the pc not connecting emulator to internet?

  12. #12
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,572

    Re: Cmsventryselection Break point runtime error

    Quote Originally Posted by mubx2000
    Do you think it needs to be tested on the mobile instead? I mean is it gives a run time error if it doesn't has a (GPRS) e.g.: on the pc not connecting emulator to internet?
    If you can configure the emulator to have net access, and the Messages application to retrieve e-mails, your code should also be able to do that. Otherwise, testing on the target device remains.
    What is the runtime error you have mentioned? Note that in some mtms InvokeSyncFunctionL is not implemented (panics or so). The POP3 mtm is about as old as the SMS mtm, and in the SMS mtm only the InvokeAsyncFunctionL is working.

  13. #13
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Budapest, Hungary
    Posts
    28,572

    Re: Cmsventryselection Break point runtime error

    Quote Originally Posted by mubx2000
    Is it necessary also to create (CbaseMtmUi) when It listed inside the list box? or we just use it to display one selected message from the list e.g.: Detailes of message in the list box?
    For listing messages, you need no mtm at all: CMsvSession has a GetChildIdsL method, you just pass the folder id, get the list of contained entries, and you can use CMsvSession::GetEntry to get the TMsvEntry for each message, and you have the iDetails and iDescription fields to fill some double-style listbox.

  14. #14
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    Quote Originally Posted by wizard_hu_
    For listing messages, you need no mtm at all: CMsvSession has a GetChildIdsL method, you just pass the folder id, get the list of contained entries, and you can use CMsvSession::GetEntry to get the TMsvEntry for each message, and you have the iDetails and iDescription fields to fill some double-style listbox.
    Is That Means that there's no need for (CPop3ClientMtm) (On Listing emails in list box) ? If the answer is yes how we save the (CImPop3Settings) to the session?

    Another question When I run the (InvokeSyncFunctionL) it gives me a run time error could you just guess what the run-time error reason from the above code?

  15. #15
    Regular Contributor
    Join Date
    Aug 2005
    Posts
    364

    Re: Cmsventryselection Break point runtime error

    void CDisplayMessageFolderContainer::GetInboxEmail()
    {
    //--->The Original
    //----->Making Some Feltiring for Incoming Messages
    CMsvEntryFilter* aFilter=CMsvEntryFilter::NewLC();
    TMsvSelectionOrdering* selectionOrder = new (ELeave) TMsvSelectionOrdering(KMsvNoGrouping,EMsvSortByDateReverse,ETrue);
    aFilter->SetOrder(*selectionOrder);
    CMsvEntrySelection* childSelection = new(ELeave) CMsvEntrySelection;
    iSession->GetChildIdsL(KMsvGlobalInBoxIndexEntryId,*aFilter,*childSelection);
    iEntry = iSession->GetEntryL(KMsvGlobalInBoxIndexEntryId);
    //CMsvEntry* serverEntry = iSession->GetEntryL(iEntry->EntryId());
    // CleanupStack::PushL( serverEntry );
    CPop3ClientMtm* pop3Mtm = static_cast<CPop3ClientMtm*>(iMtmReg->NewMtmL(KUidMsgTypePOP3));
    //CPop3ClientMtm* pop3Mtm = static_cast<CPop3ClientMtm*>(iMtmReg->NewMtmL(iEntry->Entry().iMtm));
    CleanupStack::PushL(pop3Mtm);
    pop3Mtm->SwitchCurrentEntryL( iEntry->EntryId() );
    //pop3Mtm->SwitchCurrentEntryL( serverEntry->EntryId() );
    //------>Setting And Saving Pop3 Account
    CImPop3Settings* tempsettings = new (ELeave) CImPop3Settings();
    CImPop3Settings &settings =tempsettings->CopyL(pop3Mtm->Settings());
    settings.Reset();
    settings.SetServerAddressL(KPOP3Server1);
    settings.SetLoginNameL(KPOP3LoginName1);
    settings.SetPasswordL(KPOP3Password1);
    settings.SetPort(KPop3Port1);
    settings.SetInboxSynchronisationLimit(0);
    CleanupStack::PushL(&settings);
    pop3Mtm->SetSettingsL(settings);
    //pop3Mtm->SwitchCurrentEntryL(iNewMessageId);
    CMsvEntry* service=&pop3Mtm->Entry();//&clientMtm->Entry();//
    CleanupStack::PushL( service );
    CMsvEntrySelection *selection =pop3Mtm->Entry().ChildrenWithMtmL(KUidMsgTypePOP3);//pop3Mtm->Entry().ChildrenL();//service->ChildrenL();// // a selection of all entries in the mail box
    CleanupStack::PushL( selection );
    TBuf8<1> dummyParams;//dummy parameters needed for InvokesyncFunctionL
    CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
    _LIT(messageChanged,"Synchronization Will be Started");
    informationNote->ExecuteLD(messageChanged);
    //---->For Asynchronouse Calls//KPOP3MTMIsConnected
    pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*selection,dummyParams);//Not Work
    pop3Mtm->InvokeSyncFunctionL(KPOP3MTMConnectAndCopyMailSelectionAndDisconnect,*selection,dummyParams);//Not Work
    //pop3Mtm->InvokeSyncFunctionL(KPOP3MTMIsConnected,*pop3Mtm->Entry().ChildrenL(),dummyParams);//Also Here Not Work
    _LIT(messageAfter,"Synchronization Ended");
    informationNote->ExecuteLD(messageAfter);
    //------>
    //---->End of The New Modifications
    //---->Original
    //CleanupStack::PushL(session);//KMsvGlobalOutBoxIndexEntryId
    //CMsvEntry *drafts=iSession->GetEntryL(KMsvDraftEntryId);
    //CMsvEntry *drafts=session->GetEntryL(KMsvGlobalInBoxIndexEntryId);
    //CMsvEntry *drafts=session->GetEntryL(KMsvGlobalOutBoxIndexEntryId);
    //CleanupStack::PushL(drafts);
    //CMsvEntrySelection *children=drafts->ChildrenL();
    //---->End Of the Original
    //------------------------------>Loop For Listing The Email Messages
    CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    CMsvEntrySelection *children=pop3Mtm->Entry().ChildrenL();//iEntry->ChildrenL();
    CleanupStack::PushL(children);
    _LIT(KItemFormat,"\t%S\t%S");
    TBuf<100> buf;
    TInt EmMesCount=0; ///--->To Count The Email Messages Not Other (e.g.:sms)
    for(TInt i=0;i<children->Count();i++)
    {
    //--->The Original
    //CMsvEntry *child=drafts->ChildEntryL((*children)[i]);
    CMsvEntry *child=pop3Mtm->Entry().ChildEntryL((*children)[i]);//iEntry->ChildEntryL((*children)[i]);
    const TMsvEntry &entry=child->Entry();
    if ( ( iSession->GetEntryL( children->At( i ) ) )->Entry().iMtm == KUidMsgTypePOP3)
    {
    buf.Format(KItemFormat,&entry.iDescription,&entry.iDetails);
    EmMesCount++;
    }
    delete child;
    array->AppendL(buf);
    }
    if (EmMesCount > 0)
    {
    CAknInformationNote* informationNote2 = new (ELeave)CAknInformationNote;
    informationNote2->ExecuteLD(_L("Getting Messages From Your Email"));
    }
    CleanupStack::PopAndDestroy(6);//(5); // (3)children, drafts, session
    //---->
    iListBox->Model()->SetItemTextArray(array);
    //iListBox->Model()->SetOwner
    iListBox->SetCurrentItemIndex(0);
    iListBox->SetFocus(ETrue);
    }
    void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect)
    //void CDisplayMessageFolderContainer::ConstructL(const TRect& aRect,CDisplayMessageFolderAppUi* aParent)
    { //----->New Statement
    CreateWindowL();
    iListBox=new(ELeave)CAknDoubleStyleListBox;
    iListBox->ConstructL(this,EAknListBoxSelectionList);
    iListBox->SetContainerWindowL(*this);
    //CDesCArray *array=(CDesCArray*)iListBox->Model()->ItemTextArray();
    SetRect(aRect);
    ActivateL();
    iListBox->SetSize(aRect.Size());
    iSession = CMsvSession::OpenAsyncL(*this);
    iMtmReg = CClientMtmRegistry::NewL( *iSession );
    iEntry = CMsvEntry::NewL(*iSession, KMsvGlobalInBoxIndexEntryId, TMsvSelectionOrdering());
    }
    //------------->
    Q.1 If I should remove any mtms e.g.CPop3ClientMtm) , how I deal the (CmsvSession) with (CImPop3Settings) ?

    Q.2 Is the (HandlesessionEventL) (from previous post) and (ConstructL) Syntax is Correct ? If not what type of changes that shold take place?

    Q.3 I have a runtime error in (InvokeSyncFunctionL) method , I guess this is because of the cmsventryselction has (NULL) value how I handle it?

    Q.4 If I'm deciding to Use CImPOP3GetMAil Class with (GetMail) Method It needs (TRequestStatus) Variable as one of the parameters how I Initialize like this kind of variable?

Similar Threads

  1. Carbide.vs 2.01 Registration Problem
    By baykal in forum Symbian Tools & SDKs
    Replies: 5
    Last Post: 2006-12-22, 16:55
  2. problem with the XML Parser SyExpat
    By Vitaly_iva in forum Symbian
    Replies: 2
    Last Post: 2006-06-05, 11:09
  3. help !! about SIP errors
    By wgarnett in forum Symbian
    Replies: 3
    Last Post: 2006-05-17, 05:30
  4. Replies: 0
    Last Post: 2002-09-24, 13:11

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •