| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2271 人关注过本帖
标题:CreateObject( )函数与NewObject( )函数及AddObject 方法程序与NewObject方 ...
只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1533
专家分:180
注 册:2006-6-3
结帖率:79.38%
收藏
 问题点数:0 回复次数:3 
CreateObject( )函数与NewObject( )函数及AddObject 方法程序与NewObject方法程序的区别
1、CreateObject( )函数与NewObject( )函数的差别在哪里?该使用哪一个才恰恰相恰当呢
2、AddObject 方法程序与NewObject方法程序的判别在哪里?
搜索更多相关主题的帖子: NewObject 函数 AddObject CreateObject 
2010-08-18 10:39
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1533
专家分:180
注 册:2006-6-3
收藏
得分:0 
没有高手回答?
2010-08-25 08:49
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
createobject( ) 函数 : 从类定义或支持 OLE 的应用程序中创建对象。

语法 :CREATEOBJECT(ClassName [, eParameter1, eParameter2, ...])

参数
ClassName : 指定用来创建新对象的类或 OLE 对象。Visual FoxPro 按下面的顺序搜索类或 OLE 对象:
1. Visual FoxPro 基类。
2. 在内存中按加载顺序排列的用户自定义类定义。
3. 当前程序中的类。
4. 用 SET CLASSLIB 打开的 .VCX 类库中的类。
5. 用 SET PROCEDURE 打开的过程文件中的类。
6. 在 Visual FoxPro 程序执行链中的类。
7. Windows 注册表(对 OLE 对象而言)。
可对 ClassName 使用下面语法创建 OLE 对象:
ApplicationName.Class
例如,若要创建 Microsoft Excel 工作表(支持 OLE 自动化),可用下面的语法:
x = CREATEOBJECT('Excel.Sheet')
当运行这个代码时,启动 Microsoft Excel(如果还没有运行),并创建一个新的工作表。
一个类库有一个别名。若要用别名来指定类库中的对象,可包含类库别名,后接一个句点号和对象名。
eParameter1, eParameter2, ... :这些可选参数用来把值传给类的 Init 事件过程。当发出 CREATEOBJECT( ) 时执行 Init 事件,并进行对象初始化工作。

返回值类型 : 对象

说明 : 可用 CREATEOBJECT( ) 从类定义或支持 OLE 自动化的应用程序中创建对象,并将对象引用赋给内存变量或数组元素。
由用户自定义类创建对象之前,用户自定义类必须先用 DEFINE CLASS 来创建,或者必须是用 SET CLASSLIB 打开的 .VCX 可视类库中的类。
可用 = 或 STORE 来将对象引用赋给内存变量或数组元素。如果释放指定给内存变量或数组元素的对象,则内存变量或数组元素包含 Null 值。可用 RELEASE 从内存中移去内存变量或数组元素。


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 按以下顺序搜索类或对象:
Visual FoxPro 基类。
按加载的顺序在内存中搜索用户自定义类。
当前程序中的类。
使用 SET CLASSLIB 打开的类库。
过程文件中使用SET PROCEDURE打开的类。
Visual FoxPro 程序执行链中的类。
如果 SET OLEOBJECT 为 ON,则搜索 OLE 注册表。
cInApplication : 指定 Visual FoxPro 应用程序(.exe 或 .app),其中包含 cClassLibName 指定的 .vcx 可视类库。该应用程序必须具有扩展名。如果省略 cModule,或者cModule 为空字符串或 null 值,则忽略 cInApplication。
eParameter1, eParameter2, ... : 指定可选参数,该参数传递到类或对象的 Init 事件。

说明
NEWOBJECT() 允许您创建一个新类或对象,而不必打开一个 .vcx 可视类库或过程文件。
可以使用 = 或 STORE,将 NEWOBJECT(?) 返回的对象引用分配给一个变量或数组元素。如果分配给变量或数组元素的一个对象被释放了,则该变量或数组元素包含 null值。可以使用 RELEASE 命令从内存中删除变量或数组元素。


addobject 方法 : 运行时,在容器对象中添加对象。

语法 : Object.AddObject(cName, cClass [, cOLEClass] [, aInit1, aInit2 ...])

参数
cName : 指定引用新对象的名称。
cClass : 指定添加对象所在的类。
cOLEClass : 指定添加对象的 OLE 类。
aInit1, aInit2 ... : 指定传给新对象的 Init 事件的参数。

说明
调用 addobject 方法时,将触发新添加对象的 Init 事件。在表单集中加入表单时,Load 事件在 Init 事件之前发生。

附注
当用 addobject 方法往容器中加入对象时,对象的 Visible 属性设置为“假”(.F.)。因此您可以设置对象的属性,而不看更改对象外观时的一些中间效果。


newobject 方法 : 直接从一个 .vcx 可视类库或程序将一个新类或对象添加到一个对象中。

语法 : Object.NEWOBJECT(cObjectName, cClassName [, cModule [, cInApplication [, eParameter1, eParameter2, ...]]])

cObjectName : 指定用于引用新添加类或对象的名称。
cClassName : 指定类或对象,从该类或对象添加新的类或对象。
cModule : 指定一个 .vcx 可视类库或 Visual FoxPro 程序(.prg、.mpr、.app、.exe等等),其中包含 cClassName 指定的类或对象。默认的是一个 .vcx 可视类库;如果想指定一个程序,必须包含一个扩展名。

注意 : 一个类库可以具有别名。为了通过一个别名指定类库中的类或对象,在该类库别名后面加一个点号以及对象的名称。

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

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

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

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

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

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-08-25 09:50
小小薇
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2010-3-10
收藏
得分:0 
NewObject()函数 比 CreateObject()函数 快
NewObject 方法 比 AddObject 方法快
2010-08-25 17:22
快速回复:CreateObject( )函数与NewObject( )函数及AddObject 方法程序与NewObj ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved