>I've tried the following code:
>
>lnForms = _SCREEN.FormCount
>FOR lnCnt = lnForms TO 1 STEP -1
> _screen.Forms(lnCnt).Release
>ENDFOR
>
>It doesn't work.
>
>I found that the order of Destroy event executed is: form3, form1, form2.
>
>If form3 are called by form2, the above problem will be happened.
>
>Why?
KK, try this minor change:
lnForms = _SCREEN.FormCount
FOR lnCnt = lnForms TO 1 STEP -1
_screen.ActiveForm.Release()
ENDFOR
This should release whatever form VFP says is active, rather than forcing the forms to go in a specific order.
HTH
Barbara