NEW
Syntax
Object = NEW Class [ ( Constructor parameters... ) ] [ AS Name ]

Instantiates the class Class.

The object or class where the object is instantiated is its parent.

If a name is specified, the new object will be able to raise events by calling a public procedure or function in its parent. The name of this event handler is the name of the object followed by an underscore and the name of the event.

NEW is not an operator. You can only use it within an assignment.

But you can use the New function instead.

Two different objects can have the same event name. Thus, you can manage events of multiple objects in the same event procedure, provided these objects raise the same events.

Example
hButton = NEW Button(ME) AS "MyButton"

...

PUBLIC PROCEDURE MyButton_Click()

  PRINT "My button was clicked !"

END

The next example creates 9*9*9 small TextBoxes to which can be accesses through the public Object[] array objIsImpossible

Example
PUBLIC bIsInitialised AS Boolean
PUBLIC objIsImpossible AS Object[]

PUBLIC SUB Form_Open()
DIM iR AS Integer
DIM iR2 AS Integer
DIM iC AS Integer
DIM iC2 AS Integer
DIM iDigit AS Integer
DIM iX AS Integer
DIM objTextBox AS TextBox


IF bIsInitialised = FALSE THEN
  objIsImpossible = NEW Object[] ' Need to create the array
  iX = 0
  FOR iR = 0 TO 8
    FOR iC = 0 TO 8
      FOR iDigit = 0 TO 8
        iR2 = iDigit MOD 3
        iC2 = iDigit / 3
        objTextBox = NEW TextBox(ME) ' create the next of the 9*9*9 TextBox -es
        objTextBox.X = (iR * 3 + iR2) * 12 + 2
        objTextBox.y = (iC * 3 + iC2) * 12 + 2
        objTextBox.Width = 10
        objTextBox.Height = 10

        objIsImpossible.Add(objTextBox, iX)

        iX = iX + 1
      NEXT '  iDigit
    NEXT '    iC
  NEXT '      iR
ENDIF
END


See also
Object & Class Management  Event Management  New