actually, your code is broken if you draw anything before calling
FrmDrawForm, even on 3.1 and earlier. you just won't notice it until you
exit the form. FrmDrawForm also saves a bitmap of the current screen before
drawing anything, and when the form is closed, **that bitmap gets redrawn**.
so, you are not painting those gadgets onto your form, you are actually
painting them onto whichever form is displayed prior to your form being
displayed.
it's a common mistake, but it's definitely a bug in your code. it's
interesting that Palm chose to enforce it now, but i think in the long run
it will reduce how many people make this mistake.
-----Original Message-----
From: Scott Johnson <[EMAIL PROTECTED]>
To: Palm Dev Forum <[EMAIL PROTECTED]>
Date: Tuesday, March 30, 1999 9:52 AM
Subject: FrmDrawForm changed in 3.2?
>FrmDrawForm seems to behave differently in 3.2 (Palm VII) than before:
>it erases the form before drawing the objects. In 3.1 and earlier, it
>doesn't erase what's already on screen, and in fact my code is taking
>advantage of that fact. So now it's erasing parts of my interface!
>
>Several of my frmOpen event handlers look like this:
>
> {
> Draw_Special_Gadget_1();
> Draw_Special_Gadget_2();
> FrmDrawForm( FrmGetActiveForm()); // draw everything else
> }
>
>This works fine through 3.1, but in 3.2 the FrmDrawForm call erases the
>two gadgets that were just drawn by the previous lines. Not good! Is
>this a bug introduced in 3.2 or an intended behavior change?
>
>This is definitely not mentioned in the preliminary 3.1/3.2 SDK
>documentation, where FrmDrawForm is the same for both versions.
>
>(Yes, don't tell me, obviously the "fix" is to rearrange the draw calls
>to call FrmDrawForm first, but my point here is to complain about this
>subtle behavior change which could break existing applications.)
>
>-slj-
>