| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3380 人关注过本帖
标题:CreateObject 和New的区别是什么
取消只看楼主 加入收藏
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
结帖率:87.93%
收藏
 问题点数:0 回复次数:1 
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
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
快速回复:CreateObject 和New的区别是什么
数据加载中...
 
   



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

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