CAknWaitDialog->ProcessFinishedL(); Kern-Exec 3

Login to reply to this topic.
Fri, 2005-03-11 16:09
Joined: 2004-11-25
Forum posts: 37
Hello,

I construct and display CAknWaitDialog in the following way:

iWaitDialog = new(ELeave)CAknWaitDialog(reinterpret_cast<CEikDialog**>(&iWaitDialog), ETrue );
            iWaitDialog->SetCallback(this);
            iWaitDialog->ExecuteDlgLD(CAknNoteDialog::ENoTone,R_WAIT_IMAGE_DOWNLOAD);

Once the dialog is displayed I begin an image file download operation via HTTP. The user has the ability to cancel the download operation. However, in most cases when they cancel and DialogDismissedL is invoked I receive an access violation in EIKDLG.dll when CAknWaitDialog->ProcessFinishedL(); is called.

Whats going on?

Thanks,
RE

Thu, 2005-10-06 21:29
Joined: 2004-08-19
Forum posts: 112
Re: CAknWaitDialog->ProcessFinishedL(); Kern-Exec 3
I have a similar problem, however, with the added complication that my ProcessFinishedL() doesn't return, the wait dialog is not dismissed at the end. Did you have any success with your problem in the meantime?

Bye,
  Gábor

Bye,
Gábor

Sat, 2005-10-08 23:26
Joined: 2004-08-19
Forum posts: 112
Re: CAknWaitDialog->ProcessFinishedL(); Kern-Exec 3
To be more specific:

Code:
  CAknWaitDialog* WaitDialog = new (ELeave) CAknWaitDialog (REINTERPRET_CAST (CEikDialog**, &WaitDialog), ETrue);
  WaitDialog->SetCallback (this);
  WaitDialog->ExecuteLD (R_IMPORTING_NOTE);
  ... //*
  WaitDialog->ProcessFinishedL ();
  WaitDialog = NULL;

with the resource:

Code:
RESOURCE DIALOG r_importing_note {
  flags = EAknWaitNoteFlags | EEikDialogFlagWait;
  buttons = R_AVKON_SOFTKEYS_CANCEL;
  items = {
    DLG_LINE {
      type = EAknCtNote;
      id = EWaitNote;
      control = AVKON_NOTE {
        layout = EWaitLayout;
        singular_label = loc_importing_note;
        imagefile = "z:\\system\\data\\avkon.mbm";
        imageid = EMbmAvkonQgn_note_voice;
        imagemask = EMbmAvkonQgn_note_voice_mask;
        animation = R_QGN_GRAF_WAIT_BAR_ANIM;
        };
      }
    };
  }

If I do nothing in the line marked with an asterisk, just display the note and try to dismiss it immediately, it doesn't go away, the control doesn't return from ProcessFinishedL(), the following line is not executed at all.

Bye,
  Gábor

Bye,
Gábor

  • Login to reply to this topic.