Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Program to close all forms
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00359746
Message ID:
00359761
Vues:
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?

Who needs non-closeable forms? :)
Nick Neklioudov
Universal Thread Consultant
3 times Microsoft MVP - Visual FoxPro

"I have not failed. I've just found 10,000 ways that don't work." - Thomas Edison
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform