I had the same problem.

In MyFormHandleEvent, this code doesn't cause any leak:

  ...
  case frmCloseEvent:
    // Some operations such save variables, or other things...
    SaveMyVariables();
    // Free memory for the form
    frmP = FrmGetActiveForm();
    FrmEraseForm(frmP);
    FrmDeleteForm(frmP);
    handled = true; // I actually handled the frmCloseEvent
  break;

Instead, this code causes X leak:

  case frmCloseEvent:
    // Some operations such save variables, or other things...
    SaveMyVariables();
    handled = true; // I didn't handle the frmCloseEvent,
                    // but I'm going to tell to the system that I do it
  break;

Last code causes X*n leaks if I open and close the form n times.

So I have to set handled = true only if I actually manage the event. Or instead 
let handled = false if I don't call     FrmEraseForm and FrmDeleteForm(frmP). 
Letting handled = false tells to the Operating System to manage it for me.

Your problem may be similar to mine.
I hope this will be usefull for you.

Regards

Flavio Renga

-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to