New is used to allocate memory space to contain:
// Syntax 1
CustomerArray is dynamic array
// Create this dynamic array
CustomerArray = new dynamic array of 4 by 7 int
// Syntax 2
MFile is Class
Name is string
Extension is string
Directory is string
END
SourceFile is object MFile dynamic
...
// Instantiate the object
SourceFile = new MFile
// Process on the object
// Syntax 3
// Create a dynamic automation object
MyDynamicObject = new Automation object MyServer
// Syntax 4
ProductRef is Structure
SCode is int
PdtCode is fixed string on 10
END
Armchair is dynamic ProductRef
Chair is dynamic ProductRef
...
Armchair = new ProductRef
Armchair:SCode = 7
Armchair:PdtCode = "Furniture"
Syntax
Creating a dynamic array Hide the details
<Name of dynamic array> = new dynamic array of <Dimension 1> [by <Dimension 2> ... [by <Dimension 10>]] <Type of array elements>
OR
<Name of dynamic array> = new dynamic array of <Dimension 1> [, <Dimension 2> ... [, <Dimension 10>]] <Type of array elements>
<Name of dynamic array>:
Name of the dynamic array to use. This array was declared beforehand.
<Dimension 1>...<Dimension 10>:
Dimension 1 to 10 of the array (integer value).
<Type of array elements>:
Type of the elements found in the array.Remarks:
- The a and dynamic keywords are optional: they provide better readability.
- For more details, see Arrays.
Instantiating a dynamic class object Hide the details
<Object name> = new <Class name> ([<Parameters>])
<Object name>:
Name of the class instance.
<Class name>:
Name of the class to instantiate. This name was defined when the class was created in the code editor.
<Parameters>:
Optional parameters of constructor.
Creating a dynamic automation object Hide the details
<Name of dynamic automation object> = new automation object <Name of automation server>
<Name of dynamic automation object>:
Name of the dynamic automation object to create. This object was declared beforehand.
<Name of automation server>:
Name of the server of dynamic automation object.
Creating a dynamic structure variable Hide the details
<Variable name> = new <Name of dynamic structure>
<Variable name>:
Name of the dynamic structure variable to create.
<Name of dynamic structure>:
Name of a structure that was declared beforehand.
Remarks
Special case: the dynamic arrays
If the
dynamic array is declared and assigned in a single line of code, there is no need to use the
New keyword to reserve memory space.
For example:
// Declare and create a dynamic array
CustomerArray is dynamic array of 4 by 7 int
// Is equivalent to
CustomerArray is dynamic array
CustomerArray = new dynamic array of 4 by 7 int
Remark: In this case, do not use the
Delete keyword to explicitly free the dynamic array. A runtime error will occur if
Delete is used.