>At 10:19 PM +0100 13-04-00, David Fedor wrote:
>>The issue is that there's no way for the OS to tell a window that it needs
>>to redraw itself, when that covering form goes away.
>
>frmUpdateForm handles that.
>
>The real problem is that the update process only works if all windows are
>full width and bottom justified. (The dirty "region" code in the window
>manager is extremely simple.) If you pop up a form that doesn't meet this
>standard, you get the error.
Um, far be it from me to argue with you, but... for forms you're correct
but when using just plain windows (commonly used in things like popup
lists) there's no place to specify a callback, so frmUpdateEvent can't be
sent anywhere. You're also correct about the full width/bottom justified
situation, but that's different from what I was talking about.
So when the system is tearing down an alarm dialog that didn't have enough
memory for saveBehind bits it won't be able to tell your app to redraw the
window, and thus you'll end up with a blank window. Which is why
FrmEraseForm does the check and complains.
You might be able to get the redrawing to happen correctly, in most cases,
by having a form underneath and surrounding the window. If it gets a
frmUpdateEvent, the form's callback could mess with the clipping region (if
necessary) and draw in the window as well.
The window/form distinction is the crucial thing here. A window is a form
if and only if the .dialog value is set. (At least in the current
implementation; I'm not sure if this is guaranteed.)
-David Fedor
Palm Developer Support
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html