Click or drag to resize

MemVarPut Function

X#
Assign a value to a memory variable of a given name.

Namespace:  XSharp.RT
Assembly:  XSharp.RT (in XSharp.RT.dll) Version: 2.21
Syntax
[NeedsAccessToLocalsAttribute(TRUE)]
 FUNCTION MemVarPut(
	cVarName AS STRING,
	uValue AS USUAL
) AS USUAL
Request Example View Source

Parameters

cVarName
Type: String
The name of the variable you want to create.
uValue
Type: Usual
The value to assign to the variable.

Return Value

Type: Usual
The value assigned to uValue.
Remarks
If a memory variable called cVarName does not exits, a memory variable called cVarName is created.
Therefore, MemVarPut(), like VarPut() can be used to create undeclared memory variables.
It should be used instead of a macro.
Tip Tip
This function allows the direct manipulation of a memory location and should be used with extreme care.
Remarks
Tip Tip
Dynamic memory variables (PUBLIC, PRIVATE, PARAMETERS) are supported in the X# language and runtime for compatibility only.
In most cases the type can and should be replaced with lexically scoped variables, such as LOCALs and GLOBALs.
Examples
This example uses MemVarPut() to create a memory variable:
X#
1LOCAL cHasName AS STRING
2cHasName := "cPrivate"
3// Instead of &cHasName := "new", use this:
4MemVarPut(cHasName, "new")
5? cPrivate                    // new
This example shows that the newly created variable is a MEMVAR:
X#
1MemVarPut("cVar", "hi")
2? _MEMVAR->cVar            // hi
See Also