Difference between revisions of "NAMESPACE"
Yvonne.milne (Talk | contribs) |
|||
Line 63: | Line 63: | ||
[[Category:Commands]] | [[Category:Commands]] | ||
[[Category:Declaring Variables and Arrays]] | [[Category:Declaring Variables and Arrays]] | ||
+ | [[Category:Lianja VFP Extensions]] | ||
+ | [[Category:VFP Command Extensions]] |
Revision as of 07:42, 10 December 2012
Contents
Purpose
Declare a namespace to which all public memory variable will be attached while the namespace is active
Syntax
NAMESPACE [<namespace name>]
See Also
ARRAY(), DECLARE, DIMENSION, LOCAL, NAMESPACE(), PARAMETERS, PRIVATE, PUBLIC, SET STRICT, STORE
Description
The NAMESPACE command declares a namespace and creates a dynamic array which can be referenced by the <namespace name>. After declaration of a namespace, any PUBLIC variables declared are attached to that namespace, becoming members of the array. This allows the creation of multiple PUBLIC variables with the same name, provided each belongs to a separate namespace.
Issuing NAMESPACE without a <namespace name> deactivates any current namespace.
The currently active namespace can be determined using the NAMESPACE() function.
Example
procedure proc1 namespace namespace1 messagebox("Namespace is " + namespace()) public pub1 = "Public variable declared in proc1" return procedure proc2 namespace namespace2 messagebox("Namespace is " + namespace()) public pub1 = "Public variable declared in proc2" return proc1() proc2() display memory ? namespace1.pub1 ? namespace2.pub1 namespace messagebox("Namespace is " + namespace()) public pub1 = "Public variable, no namespace active" ? pub1 ?
output
Namespaces: ------------------------ NAMESPACE1 Dynamic array (refcnt 2) .PUB1 Character 'Public variable declared in proc1' NAMESPACE2 Dynamic array (refcnt 2) .PUB1 Character 'Public variable declared in proc2' Memory Variables: ------------------------ ** Total of ** 4 variables defined and 298 bytes used. Public variable declared in proc1 Public variable declared in proc2 Public variable, no namespace active