| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3380 人关注过本帖
标题:CreateObject 和New的区别是什么
只看楼主 加入收藏
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
收藏
 问题点数:0 回复次数:8 
CreateObject 和New的区别是什么
在网上搜索了下,看了还是不是很明白
--------------------------------------------------------------------
1 . createobject与new   本质的不同。   
  createobject与new   的关键区别就是声明后系统对资源的控制权不一样。   
  createobject是由内存中重新创建一个实例而不是简单的资源计数器+1的概念。如果内存中存在一个这样的实例,编译器不会理会这个实例而是将对象重新创建一个。实际上是一个完全独立的新的资源实例。并且不受GC的资源回收控制,必须自己回收。   

  new声明的时候,编译器回自动寻找内存中的相应实例,找到了以后,将资源计数器+1,并不会在内存中重新声明内存地址空间,他是受GC限制的,当编译器运行完毕后,会自动将资源编译器里面的该对象的资源计数器-1,如果为计数器0的话就自动释放该对象。   

不明白New的时候为什么是先搜索已经存在的实例,在我的理解里,New的时候应该不存在实例的,有谁能给个范例代码吗或者解释下

2.

New的时候,调用的是那个带下划线的接口   
  CreateObject的时候,返回IDispatch接口   
  带下划线的接口是VB一种特殊方法,自VB4,Office97以后就这么   
  用了,以前的好象只能用IDispatch接口.

带下划线的接口是什么接口

3.

还有就是要说的是那个前期绑定和后期   
  New是前   
  CreateObject是后期   
  因为New的时候必须加入类型库   
  有类型检查   
  而后者没有,所有的调用都可能成功,自已检查   

------------------------------------
不知道各位还有什么补充的吗

[[it] 本帖最后由 happynight 于 2008-8-22 08:32 编辑 [/it]]
搜索更多相关主题的帖子: CreateObject 
2008-08-22 08:30
mnb1478
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-7-1
收藏
得分:0 
原来如此呀




" border="0" />
[url=http://www.]坏蛋是怎样炼成的2[/url]
2008-08-22 08:46
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
收藏
得分:0 
用new比createobject快
2008-08-22 14:27
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
[bo][un]三断笛[/un] 在 2008-8-22 14:27 的发言:[/bo]

用new比createobject快

多谢 能告之两者的区别吗
2008-08-22 16:11
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
如果我没记错的话,createobject是用来进行后期绑定的.
createobject可以运行时进行对象的创建.

/images/2011/147787/2011051411021524.jpg" border="0" />
2008-08-24 15:14
朗朗
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
问个直接的

那我们应该在什么时候用NEW或CREATEOBJECT呢?
2008-08-24 16:26
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
我们创建对象时一般先引用才可以用new创建实例,
如果没用引用呢...乍办...用CREATEOBJECT.

/images/2011/147787/2011051411021524.jpg" border="0" />
2008-08-24 16:51
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
同楼上。

CreateObject是要从工程外找到资源的,或者说是要读注册表的,必然比工程内引用好的要慢。
2008-08-26 09:42
hzybit
Rank: 2
等 级:论坛游民
帖 子:22
专家分:23
注 册:2013-1-8
收藏
得分:0 
好早的帖子,不过真有帮助

VFP ,EXCEL VBA,EXCEL ADD-IN
2014-04-10 12:57
快速回复:CreateObject 和New的区别是什么
数据加载中...
 
   



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

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