Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. sponsors. 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: 142109 # Views: 29 # Ratings: 0
Version: Visual FoxPro 9 Category: General VFP Topics
Date: Tuesday, August 14, 2007 7:46:56 PM         
   


> Hi Ilya
>
> > Another workaround would be saving the references on those instances in some temp cursor, but then again: the scope of the variable form-name is critical. This is where use of PUBLICs is justified.
>
> A better solution may be to have a form manager object which contains references to all forms. No publics required. I tend to think people are just not trying hard enough to avoid PUBLIC vars. :)
>
> Mike Yearwood
> www.foxridgesoftware.com
> President: Toronto Ontario FoxPro User's Group

Good morning, Mr. President! (;>) (Sorry, can't help it...)

I'm afarid I haven't made myself clear enough: the method of storing references is of no concern, but keeping these references 'alive" is. And, if you have to create, in a procedure or a function, multiple instances of the same form, and you have to have those references available for any other proc/func/method/event for the entire form's lifetime... I do not see at the moment how it can be done without making the forms' instances' names PUBLIC.
You can DO FORM "frmData.SCX" NAME frmDat_APPID_DocKey in a FUNCTION or PROCEDURE, but that would be implicit declaration of the memvar frmDat_APPID_DocKey; thus, once you RETURN, frmDat_APPID_DocKey will be discarded. What's the "fate" of your instance of the frmData would be then?
Unless I greatly misunderstand the concept of scope, or lifetime, of a memory variable, once the memvar is gone - so is your form's reference (as may be your form object); and if it was LINKED - the object is gone as well (for sure). Thus, saving the name of an object created in a procedure on runtime in whatever container (table, custom class' object) loses meaning if this name/memvar is not visible enywhere in the program; that latter calls for PUBLIC memvar.

Now, to ease your concerns (:>), this is about all cases where I consider the use of PUBLICs justified: locations/directories (like gcTempDir, gcStartDir, gcDataDir), form objects instantiated on runtime, maybe some common settings (like glAdmin) - and that's it!.

Won't you agree?

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