>>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
>
>I've tried, but it still doesn't work.
>
>Only Form3 can be released normally.
>
>Form2 and Form1 are not released inside the loop. Form2 is released after the loop and Form1 is not released finally. Why?
>
>I think it is a bug, so I run the the following command if the active form is modal:
>
>_SCREEN.Closable = .F.
KK,
I see now, this is not a bug. The modal form ahs code running and it cannot be released until the code finishes. You should release the modal form from within its own code.