newobject( ) 函数

请参阅

直接从一个 .vcx 可视类库或程序创建一个新类或对象。

语法

NEWOBJECT(cClassName [, cModule [, cInApplication
[, eParameter1, eParameter2, ...]]])

返回值类型

对象

参数

cClassName

指定类或对象,从该类或对象创建新的类或对象。

对于 cClassName,可使用以下语法创建 OLE 对象:

ApplicationName.Class

例如,为了创建一个 Microsoft Excel 工作表(支持 OLE 自动服务),可以使用以下语法:

oExcelSheet = NEWOBJECT('Excel.Sheet')

cModule

指定 .vcx 可视类库或 Visual FoxPro程序(.prg、.mpr、.app、.exe 等等),其中包含 cClassName 指定的类或对象。默认指定一个 .vcx 可视类库;如果想指定一个程序,必须包含一个扩展名。

注意 类库可以有一个别名。为了使用类库别名指定类库中的类或对象,可在类库后面带一个点号以及对象名。

如果省略 cModule,或者 cModule 为空字符串或 null 值,则 Visual FoxPro 按以下顺序搜索类或对象:

  1. Visual FoxPro 基类。
  2. 按加载的顺序在内存中搜索用户自定义类。
  3. 当前程序中的类。
  4. 使用 SET CLASSLIB 打开的类库。
  5. 过程文件中使用SET PROCEDURE打开的类。
  6. Visual FoxPro 程序执行链中的类。
  7. 如果 SET OLEOBJECT 为 ON,则搜索 OLE 注册表。

cInApplication

指定 Visual FoxPro 应用程序(.exe 或 .app),其中包含 cClassLibName 指定的 .vcx 可视类库。该应用程序必须具有扩展名。如果省略 cModule,或者cModule 为空字符串或 null 值,则忽略 cInApplication。

eParameter1, eParameter2, ...

指定可选参数,该参数传递到类或对象的 Init 事件。

说明

NEWOBJECT() 允许您创建一个新类或对象,而不必打开一个 .vcx 可视类库或过程文件。

可以使用 = 或 STORE,将 NEWOBJECT(?) 返回的对象引用分配给一个变量或数组元素。如果分配给变量或数组元素的一个对象被释放了,则该变量或数组元素包含 null值。可以使用 RELEASE 命令从内存中删除变量或数组元素。