NEW
Object = NEW Class [ ( Constructor parameters... ) ] [ AS Name ]
实例化_Class_类。
如果指定_Name_,新的对象将能够通过调用它父类的公共过程或函数引发事件。
-
该父类,或者缺省的事件观察器,就是被实例化的新对象所属的对象或者类。
-
该事件处理的名称是对象名加下划线加事件名。
两个不同的对象可以有相同的事件名。所以,可以在同一个事件过程中管理多个对象发生的相同事件。
Examples
hButton = NEW Button(ME) AS "MyButton"
...
PUBLIC PROCEDURE MyButton_Click()
PRINT "Mybutton按钮被单击!"
END
' 本例创建9*9*9个小文本框,可以通过公共的Object[]对象数组来访问它们。
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 NOT bIsInitialised THEN
objIsImpossible = NEW Object[] ' 创建需要的数组
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) ' 创建9*9*9个TextBox的下一个
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
动态实例
Object = NEW ( ClassName [ , Constructor parameters... ] ) [ AS Name ]
第二种语法允许指定一个字符串_ClassName_作为动态的类名。
Examples
' 创建3x3的浮点型数组。
DIM MyArray AS NEW Float[3, 3]
' 也可以这样:
DIM MyArray AS Object
DIM MyClassName AS String
MyClassName = "Float[]"
MyArray = NEW (MyClassName, 3, 3)
参见