>Hi George,
>
>>First, you've fallen into the trap of starting at 1 and trying to go upward. Won't work.
>
>Sure it will, I only check the return value of QueryUnLoad, I don't actually release it, I see if there ALL OK to relase, the release them ALL later.
Then try this, if you think so, Mike. Assume a form named MYFORM.SCX exists
DO FORM MYFORM.SCX
DO FORM MYFORM.SCX
_SCREEN.Forms(1).Release
_SCREEN.Forms(2).Release
And this will happen eventually going from 1 TO _SCREEN.FormCount.
>>Second, you're right about this oversight. However, note that it will close all the forms where QueryUnload doesn't fail. In other words, it won't blow up.
>
>I know, I said it would continue like its fine, but it may not be. I would rather see a message that says "App can't shutdown right now" and leave it with all the forms open that were open before you tried to close.
Oh sure. Please remember, however, that the code snippet was an example and that I wrote it off the top of my head. Be kind< g >.
George
Ubi caritas et amor, deus ibi est