http://www.cndw.com/tech/data/200602158731.asp
1.CREATE
CREATE语句生成对象实例变量,在生成以后,可以用点操作符引用对象的成员。CREATE语句返回一个可在变量中保存的对象实例句柄。CREATE语句有两种语法格式:
objectvariable = CREATE objecttype
objectvariable = CREATE USING objecttypestring
objectvariable 持有该对象实例,objecttype代表对象类型,objecttypestring是保存需要创建的对象类型名称的字符串。
使用CREATE语句可以创建包括标准类用户对象在内的类用户对象,例如mailSession或者Transaction对象。不过,系统已经为标准用户对象Message、Error、Transaction、DynamicDescriptionArea、DynamicStagingArea提供了一个实例, 如果需要多于一个的的实例,可以使用CREATE语句创立更多的实例。
标准数据类型和结构体不用CREATE创立。当对象的AutoInstantiate属性被设置为TRUE的时候,不需要使用CREATE语句。可视对象实例不使用CREATE语句创立,而使用OPEN函数。使用CREATE语句的第二种语法格式可以在应用中动态地选择对象类型,并创建它的实例。通常在使用继承对象实例初始化祖先对象的时候,使用此CREATE语句格式.
使用CREATE语句创建实例对象,在使用完该对象之后,要用DESTROY命令销毁对象实例。
例子:
torus obj1,obj2
torus_ancestor obj_ancestor
obj1 = CREATE torus
obj2 = CREATE torus
obj_ancestor = CREATE USING obj1
2.DESTROY
DESTROY语句释放由CREATE创建的实例,释放之后该对象实例不能再被引用。DESTROY语句的语法格式为:
DESTROY OBJName
需要注意的是,在某些情况之下,用户可能需要销毁自己并未创建的Dwobject或者OLEObject对象实例。其原因是:在引用到DataWindow、DWojbect或者OLEObject对象的成员函数或者属性的时候,POWER BUILDER会动态地创立和释放响应对象实例,但是如果用户自己建立了对嵌入对象的引用,而不是调用其本身的成员函数和属性的话,等于重载了内部动态对象,因此用户需要负责释放该对象。
//以下我的问题:
a. 比如一个对象是动态创建的,但是用在了closewithreturn中,那destroy要怎么写?我写了destroy会出错。
b. 垃圾回收谁在用?怎么用?