Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Program to close all forms
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00359746
Message ID:
00359760
Views:
16
>>>I am trying to run a program to close all forms on the screen. However, the following code closes all but the last form.
>>>
>>>***
>>>FOR EACH oform IN _screen.forms
>>> oform.RELEASE()
>>>ENDFOR
>>>***
>>>
>>>How can I get all the opened forms to close?
>>>
>>>Thanks,
>>>
>>Jerryt,
>>
>>You need to do it backwards through the collection. If the forms use the QueryUnload method to check to make sure the form can release, you'd need to check the results of that as well:
lnforms = _SCREEN.FormCount
>>lldone = .T.
>>DO WHILE lnforms > 0 AND lldone
>>  lldone = _SCREEN.Form(lnforms).QueryUnload()
>>  IF lldone
>>    _SCREEN.Form(lnforms).Release
>>    lnforms = lnforms - 1
>>  ENDIF
>>ENDDO
>
>Or, if there is no code in QueryUnload it can be just like this:
>
>ln = _screen.formcount
>FOR i = ln to 1 STEP -1
>_screen.Forms(i).Release
>ENDFOR

Yep, that too, but I'd think that if the form were closeable, you'd almost definetly have some code in QueryUnload. Further, and this is a personal observation, if it weren't closeable, I think you'd be straying from the interface guidelines, don't you?
George

Ubi caritas et amor, deus ibi est
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform