Difference between revisions of "NAMESPACE"
Yvonne.milne (Talk | contribs) (→See Also) |
|||
Line 6: | Line 6: | ||
==See Also== | ==See Also== | ||
− | [[ARRAY()]], [[DECLARE]], [[DIMENSION]], [[LOCAL]], [[NAMESPACE()]], [[PARAMETERS]], [[PRIVATE]], [[PUBLIC]], [[SET STRICT]], [[STORE]] | + | [[ARRAY()]], [[CLEAR NAMESPACE]], [[DECLARE]], [[DIMENSION]], [[LOCAL]], [[NAMESPACE()]], [[PARAMETERS]], [[PRIVATE]], [[PUBLIC]], [[SET STRICT]], [[STORE]] |
==Description== | ==Description== |
Revision as of 06:55, 3 March 2021
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(), CLEAR NAMESPACE, 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