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:
00187297
Views:
20
>>>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
>
>I was thinking of moving the File - Exit code to a procedure and having the menu just call the procedure. Then I would also have ON SHUTDOWN DO the procedure. Is there any reason why File - Exit and ON SHUTDOWN shouldn't call the same code? I think not, but I wondered if there is a catch here.

I do the exact same thing. One line of code I would suggest adding to your routine at the beginning is ON SHUTDOWN.
Colin Magee
Team Leader, Systems Development
Metroland Media Group Ltd.
Mississauga, Ontario, Canada

cmagee@metroland.com

Never mistake having a career with having a life.
Previous
Reply
Map
View

Click here to load this message in the networking platform