>Hi Fred,
>
> Thanks a lot for your advise. It works!! I appreciate that.
>
>>Once you Release a form, there is one less in the count, thus you run past the end. You could do:
>>
>>nFrm = 1
>>DO WHILE .t.
>> IF TYPE("_SCREEN.Forms[nFrm]")='U'
>> EXIT
>> ENDIF
>> IF UPPER(_SCREEN.Forms[nFrm].Name)='ZIPS'
>> nFrm = nFrm + 1
>> LOOP
>> ENDIF
>> _SCREEN.Forms[nFrm].Release()
>>ENDDO
>>
>>This keeps releasing the 1st form in the collection until its ZIPS, and then keeps releasing 2nd form in collection until done.
>
> I am not pretty sure that I understand: does ZIPS RELEASED in this code? Seems to me that it doesn't, so I leave DODEFAULT() after ENDDO. Am I right?
>
> Thanks again
If this code is in the ZIPS Release method and what you are trying to do is release the ZIPS form last, then yes, a DODEFAULT() after the ENDDO would then release the ZIPS form.