Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: Ilya Rabyy
  Where is Ilya Rabyy?
 Fountain Valley
 California - United States
 Ilya Rabyy
 To: Mike Yearwood
  Where is Mike Yearwood?
 Toronto
 Canada
 Mike Yearwood
 Tags
Subject: RE: PUBl Vars Pro&Contra
Thread ID: 141897 Message ID: 142226 # Views: 34 # Ratings: 0
Version: Visual FoxPro 9 Category: General VFP Topics
Date: Wednesday, August 15, 2007 5:29:29 PM         
   


> I just modified a piece of code today. It has public vars and I know the original programmer knew not to do it, but was in a hurry and used them out of "habit". He's a really good programmer and I'm happy to be working with his caliber again.
>
> There's a line of code in this app which reads...
>
> ON SHUTDOWN DO SHUTDOWN.
>
> Now during debugging this little line can get a annoying. First off, PROCEDURE SHUTDOWN was in a .PRG. Once the app stops and SET PROCEDURE is cleared, trying to exit gives the error message Based on the pre-existing code, I thought I could just add another public var. Then I remembered a better approach.
>
> By avoiding public vars - as an engineering principle, I created a private var in the main part of the program. I instantiated an object based on the memento design pattern to this private var. Mementos remember things, like ON("SHUTDOWN") during init and resets them when the variable is released like when the app stops. So now, no more ON SHUTDOWN related problems and no public vars. Besides, a public var would have stayed 'alive' after the app shutdown. So ON SHUTDOWN would not have been reset until I release the public var.
>
> I guess the point is, by avoiding a bad practice and collecting good practices, you can do some pretty cool stuff.
>
> Mike Yearwood
> www.foxridgesoftware.com
> President: Toronto Ontario FoxPro User's Group

Mike,

I don't quite get it: what having PROC Shutdown in a different than Main PRG module has to do with with PUBLIC vs. LOCAL/PRIVATE case at hands? I would rather have this PROC Shutdown moved into Main and be done with it, honestly!

Moreover: it may be the matter of habit, but I would rather have all these RELEASE and SET bla-bla-blah TO [space] commands right before the QUIT command (or CANCEL, if that's the case) in the main proc in Main, rather than in some sub, let alone in another module. ON SHUTDOWN proc should handle primarily saving data on disks and closing the tables, IMHO, coz this is where the real damage usually occurs.

Regards,

Ilya

COMPLETE THREAD

PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/13/2007 12:08:05 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/13/2007 12:14:19 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/13/2007 12:57:40 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/13/2007 2:32:12 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/13/2007 3:11:49 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/13/2007 7:56:45 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 11:44:08 AM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 12:45:58 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 3:29:09 PM
RE: PUBl Vars Pro&Contra Posted by Tamar Granor @ 8/14/2007 11:01:24 PM
RE: PUBl Vars Pro&Contra Posted by Don Higgins @ 8/14/2007 6:08:45 PM
RE: PUBl Vars Pro&Contra Posted by Borislav Borissov @ 8/13/2007 8:06:04 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 11:29:35 AM
RE: PUBl Vars Pro&Contra Posted by Borislav Borissov @ 8/14/2007 11:52:47 AM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 3:32:44 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/13/2007 8:47:49 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 11:33:59 AM
RE: PUBl Vars Pro&Contra Posted by Hugo Ranea @ 8/14/2007 7:16:32 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/13/2007 9:24:07 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 1:56:56 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 3:53:24 PM
RE: PUBl Vars Pro&Contra Posted by Pamela Thalacker @ 8/14/2007 5:10:35 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 5:23:21 PM
RE: PUBl Vars Pro&Contra Posted by Pamela Thalacker @ 8/14/2007 5:50:03 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 6:33:05 PM
RE: PUBl Vars Pro&Contra Posted by Pamela Thalacker @ 8/14/2007 9:30:16 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 11:13:19 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 5:33:08 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 5:51:13 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 9:10:42 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 9:23:26 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 9:03:19 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 9:08:02 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 8:04:15 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 8:21:41 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 9:00:41 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 11:17:07 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 5:42:39 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 6:36:33 PM
RE: PUBl Vars Pro&Contra Posted by Hugo Ranea @ 8/14/2007 7:28:15 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 7:57:11 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 7:46:56 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 8:11:04 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 8:31:23 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 8:37:53 PM
RE: PUBl Vars Pro&Contra Posted by Tamar Granor @ 8/14/2007 11:10:39 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 8:00:32 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/14/2007 9:05:56 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/14/2007 9:32:30 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/14/2007 11:40:11 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/15/2007 5:29:29 PM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/15/2007 8:36:16 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/16/2007 12:26:42 AM
RE: PUBl Vars Pro&Contra Posted by Mike Yearwood @ 8/16/2007 3:01:29 AM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/17/2007 5:12:06 PM
RE: PUBl Vars Pro&Contra Posted by Tamar Granor @ 8/14/2007 11:07:01 PM
RE: PUBl Vars Pro&Contra Posted by Tamar Granor @ 8/14/2007 10:58:35 PM
RE: PUBl Vars Pro&Contra Posted by Ilya Rabyy @ 8/15/2007 5:09:16 PM
RE: PUBl Vars Pro&Contra Posted by Vincent Byrne @ 8/14/2007 9:55:05 PM
RE: PUBl Vars Pro&Contra Posted by Andy Kramek @ 8/14/2007 11:17:48 PM
RE: PUBl Vars Pro&Contra Posted by Vincent Byrne @ 8/15/2007 8:10:06 PM
RE: PUBl Vars Pro&Contra Posted by Thomas Bähr @ 8/15/2007 10:50:53 AM