Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ON SHUTDOWN/File - Exit
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00185955
Message ID:
00185964
Views:
28
>I have this code in my File - Exit pad:
>
>LOCAL lnForm, lnFormToClose
>lnFormToClose = 1
>FOR lnForm = 1 TO _screen.FormCount
>  IF TYPE("_screen.Forms(lnFormToClose)") == "O"
>    IF _screen.Forms(lnFormToClose).QueryUnload()
>      _screen.Forms(lnFormToClose).Release()
>    ELSE
>      RETURN .F.
>    ENDIF
>  ELSE
>    lnFormToClose = lnFormToClose + 1
>  ENDIF
>ENDFOR
>CLEAR EVENTS
>DO cleanup
>
>...and Cleanup does CLOSE DATABASES, CLEAR ALL, SET CLASSLIB TO, and so forth.
>
>1) is this good ON SHUTDOWN code?
>2) should I be looping backwards from _SCREEN.FormCount to 1?
>
>I didn't include all my cleanup code because I know that my question is a bit vague anyway. I don't have an application object because it is a fairly simple modified legacy app.


You can remove some redundancy and correct as follows:
LOCAL lnForm, lnCount
lnCount = _screen.FormCount
FOR lnForm = 1 TO lnCount     && have to do this because formcount
                              && changes every time you close a form
  IF TYPE("_screen.Forms(lnForm)") == "O"  && might also test to see if
                                           && BASECLASS property is "FORM"
    IF _screen.Forms(lnForm).QueryUnload()
      _screen.Forms(lnForm).Release()
    ELSE
      RETURN .F.
    ENDIF
  ENDIF
ENDFOR
CLEAR EVENTS
DO cleanup
Mark McCasland
Midlothian, TX USA
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform