Hi again Tom ---
I see a potential problems here. For one, variables are kind of "no-nos" and harder to work with than properties. And since there is only one, public variable there may be other forms or other processes affecting it or resetting it.
I would create a custom form property called gledit; this also lets you split out the "edit state" for each form which is more flexible. So you would change the InteractiveChange code to THISFORM.GLEdit=.T.
In your menu, you can test for _SCREEN.ActiveForm.GLEdit = .T.
>The variable is public, declared and initialized on startup.
>In the interactive event of all my text boxes I simply put gledit = .T.
>Under the save button is...
> IF glEdit
> do custom datactrl
> glEdit = .F.
> ELSE
> no changes so return
> endif
>
>-Tom
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05