Com组件和插件的区别一般DLL的区别

com组件和一般dll的区别_百度知道
com组件和一般dll的区别
我有更好的答案
ctiveX.dll是进程内的组件(如果不用MTS),ActiveX.exe是进程外组件,主要区别在于与调用者是不是属于同一个进程,应该 COM更有优势多进程共享:COM对win32下的语言支持好些,如VB:DLL的平台移埴方便些,基本所有语言都可以调用,JavaScript等,增加函数,但感觉还是没有COM的方便,COM可以新增一个接口,对应的是一个类,使用上更方便些.特别在多次升级后。ActiveX,COM就只能在win32下语言支持.接口:DLL一般是以函数API的方式提供,COM则是用类的方式向前兼营:DLL可以保留接口.exe 可以做AutomotionServer或DCOMServer,普通的不能。平台移植
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。.net组件与COM组件有什么区别?_百度知道
.net组件与COM组件有什么区别?
有什么区别.net组件与COM组件分别是什么啊?望大家帮忙解决下,谢谢
我有更好的答案
  COM组件是以前微软推荐的;  COM组件是非托管对象,可以不需要.net框架而直接运行。  .NET组件是现在微软推荐的;  .NET组件是托管对象,必须有.net框架才能运行。  二者都可以实现组件的重用,最大的区别是现在的.NET组件解决了版本问题,也就是说允许多个不同的版本的同一组件在一台机器上安装,而这个是以前COM组件的致命问题。
也带来了大量的我们所未知的版本繁多的COM组 件到我们的操作系统中://www.NET组件是我们将会经常使用的,还有注册表、GUID等等。在我们安装一个软件的同时.NET组件需要通过标准公开关键字密码技术来保证自身的唯一性.shtml" target="_blank">http,我们发布.NET组件需要做的只是简单的进行拷贝操作就可以了。但是,我们在可能的情 况下应当尽量避免使用共享的.NET组件,因为这样将会有可能再一次的陷入目前在视窗系统下长期困扰开发人员的“DLL地狱”。
私有的。 参考资料:<a href="http.enet.com.cn/article//A09.NET组件方式://www,在这种方式之下,在这一点上面比较类似于COM的全球唯一ID号码GUID。
而COM组件是微软曾经力推了很多年的一种代码复用的技术框架,在这些年里也得到了极大的发展和应用,但它的弊端却也日益明显,我们不得不面对众多的 COM组件之间的版本控制和令人恐怖的DLL地狱.enet.com.cn/article//A09.NET组件可以分为两大类:共享的.NET组件和私有的.NET组件。
共享的,仿佛回到了远古的DOS时代了,在也不必关心纷繁复杂的系统注册表了,也不必担心DLL的版本被覆盖等等的问题了
本回答被提问者采纳
NET组件方式,在这一点上面比较类似于COM的全球唯一ID号码GUID,仿佛回到了远古的DOS时代了,在也不必关心纷繁复杂的系统注册表了,也不必担心DLL的版本被覆盖等等的问题了。
而COM组件是微软曾经力推了很多年的一种代码复用的技术框架,在这些年里也得到了极大的发展和应用,但它的弊端却也日益明显,我们不得不面对众多的 COM组件之间的版本控制和令人恐怖的DLL地狱,也带来了大量的我们所未知的版本繁多的COM组 件到我们的操作系统中。但是,我们在可能的情 况下应当尽量避免使用共享的.NET组件,因为这样将会有可能再一次的陷入目前在视窗系统下长期困扰开发人员的“DLL地狱”。
私有的,还有注册表.NET组件是我们将会经常使用的.NET组件需要通过标准公开关键字密码技术来保证自身的唯一性,我们发布.NET组件需要做的只是简单的进行拷贝操作就可以了、GUID等等。在我们安装一个软件的同时.NET组件可以分为两大类:共享的.NET组件和私有的.NET组件。
共享的,在这种方式之下
为您推荐:
其他类似问题
com组件的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。下次自动登录
现在的位置:
& 综合 & 正文
Com组件和一般DLL的区别
这阵子在想一个需要利用组件的小程序怎么做,突然想起上次去面试的时候考官问过开发时为什么要利用,而不采用一般的呢?到上查了一下,许多人也问了一样的问题:)用来写程序要比普通的麻烦一些,但是带来的好处也大很多,尤其是在开发像这样大型软件的时候,需要跨区域来协同工作。“学习,首先要知道的目的是什么,它解决了一个什么样的问题,在此基础上,提供了各式各样的可扩展的服务,编程接口。这些服务和接口恐怕一个程序员一辈子都不可能通晓,因为发展是如此之快。大家也没有必要通晓这些接口,就象对待大量的的态度,用到时再查帮助。
的各种努力都是在规定了一种二进制交互的协议。说起来简单,做起来相当复杂,要使使用不同语言编写的客户能够使用任意语言编写的服务程序谈何容易!这里说语言还是把问题简单化了,因为每种语言还有各式各样的编译器,不同编译器出来的二进制代码如何交互?
就拿来说,是对静态连接的一种改进,带来了更细的开发分工,也带来了很多问题,其中就有二进制如何交互的问题。这个问题当输出类时更加突出。为解决此问题提出了极负创意的解决方案,不仅如此,更进一步引申,提出了如何跨网络的交互。然后,针对服务器的开发提出。体系中融合了多种经典的设计模式,可以说是一种更加精干的。
博大精深,若干大师仍须半年的方能有豁然开朗之时。我们这些晚辈,还需多加修炼才对,但决不止是。
、组件以接口对功能分类,便于组织;特别是大的,函数一大堆,难以组织;
、组件便于升级维护,功能扩充,只需添加接口就行;升级困难,函数不能随意改变;
、创建调用有很好的安全性,没有;
、组件可轻松实现进程间调用,很困难;
、组件可轻松实现分布式调用,不可能;
、组件具有封装、继承、多态的面向对象特征,只有封装;
、在组件的基础上实现了大量功能:,等;
、、、、之间的区别
熟悉面向对象编程和网络编程的人一定对、和这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多人还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件()和对象()之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象()。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:
)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;
)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;
)组件为模块重用,而对象为代码重用。现在,比较流行的组件模型有(,对象组件模型)(,分布式对象组件模型)和(,公共对象请求代理体系结构)。到这里,已经出现了与本文相关的主题,而与本文无关,就不作介绍。之所以从组件与对象的区别说起,是想让大家明确和是处在整个体系结构的最底层,如果暂时对此还不能理解,不妨继续往下看,最后在回过头看一看就自然明白了。
现在开始阐述、和的关系。首先,让大家有一个总体的概念,从时间的角度讲,是最早出现的,然后是和;从体系结构角度讲,和是建立在之上的,所以是基础;单从名称角度讲,、是两个商标名称,而则是一个纯技术名词,这也是大家更多的听说和的原因。既然是最早出现的,那么就从说起,自从操作系统流行以来,“剪贴板”()首先解决了不同程序间的通信问题(由剪贴板作为数据交换中心,进行复制、粘贴的操作),但是剪贴板传递的都是“死”数据,应用程序开发者得自行编写、解析数据格式的代码,于是动态数据交换(,)的通信协定应运而生,它可以让应用程序之间自动获取彼此的最新数据,但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。对象的链接与嵌入(,)的诞生把原来应用程序的数据交换提高到“对象交换”,这样程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容,其实是的复合文档技术,它的最初版本只是瞄准复合文档,但在后续版本中,导入了。由此可见,是应的需求而诞生的,所以虽然是的基础,但的产生却在之前。的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。是应的需求而诞生,但它的第一个使用者却是,所以与复合文档间并没有多大的关系,实际上,后来就作为与复合文档完全无关的技术,开始被广泛应用。这样一来,就开始“染指”通用平台技术。但是并不是产品,它需要一个商标名称。而那时的市场专家们已经选用了作为商标名称,所以使用技术的都开始贴上了的标签。虽然这些技术中的绝大多数与复合文档没有关系。的这一做法让人产生这样一个误解是仅指复合文档呢?还是不单单指复合文档?其实是的商标名称,自然不仅仅指复合文档。但自己恐怕无法解释清楚,这要花费相当的精力和时间。
于是,随着的发展,在年春,改变了主意,选择作为新的商标名称。是指宽松定义的、基于的技术集合,而仍然仅指复合文档。当然,最核心的技术还是。和的最大不同在于,针对的是桌面上应用软件和文件之间的集成,而则以提供进一步的网络应用与用户交互为主。
到这里,大家应该对、和三者的关系有了一个比较明确的认识,才是最根本的核心技术,所以下面的重点。让对象模型完全独立于,这是一个非常新奇的思想。这一点从和的对象概念上,我们就能有所了解。但所谓对象究竟是什么呢?为了便于理解,可以把看作是某种(软件)打包技术,即把它看作是软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和以组支持库。对象可以用、和等任意一种语言编写,并可以用或作为不同过程工作的执行文件的形式来实现。使用对象的浏览器,无需关心对象是用什么语言写的,也无须关心它是以还是以另外的过程来执行的。从浏览器端看,无任何区别。这样一个通用的处理技巧非常有用。例如,由用户协调运行的两个应用,可以将它们的共同作业部分作为对象间的交互来实现(当然,现在的复合文档也能做到)。为在浏览器中执行从服务器下载的代码,浏览器可把它看作是对象,也就是说,技术也是一种打包可下载代码的标准方法(控件就是执行这种功能的)。甚至连应用与本机进行交互的方法也可以用来指定,例如在和中用的是新,多数是作为对象来定义的。可见,虽然起源于复合文档,但却可有效地适用于许多软件问题,它毕竟是处在底层的基础技术。用一句话来说,是独立于语言的组件体系结构,可以让组件间相互通信。随着计算机网络的发展,进一步发展为分布式组件对象模型,这就是,它类似于的,本文对此将不再做进一步的阐述。通过上面的讲述相信大家一定对、和的关系有了一个清楚的了解。
使用的人对于控制一定不会陌生,它提供了一种类似于动态链接库的调用,不过它与的唯一区别就是不注册不能被系统识别并使用。那么,当我们得到一个没有被正确安装且不能使用的消息后,又要安装怎么办呢?1程序法在的文件夹下有一个的程序,它就是自己带的注册和反注册工具。利用它也能够非常方便地注册控件,它的用法为:usni,其中为控件文件名,建议在安装前拷贝到文件夹下参数有如下意义:u-反注册控件s-不管注册成功与否,均不显示提示框c-控制台输出i-跳过控件的选项进行安装(与注册不同)n-不注册控件,此选项必须与i选项一起使用例如笔者要注册控件,则打入即可,要反注册它时只需使用u就行了。2注册表法所谓注册,无非是将一些信息记录在的注册表中,如控件,我们可以运行注册表编辑程序,利用关键字进行搜索,然后把搜索得到后的注册表导出为一REG注册表文件,再将其相应的文件拷贝到的文件夹(一般的文件名为,安装在的文件夹内)下,最后在要安装的机器上双击导入刚才导出的注册表文件即可完成安装。
、和都是微软的一些技术标准。比较老后来发展成,再后来发展成为,是扩展名。有两种扩展名和。实际上你可以把它们的扩展名字调换。作为的更新技术,扩展名也有可能是文件还有可能是动态链接库。主要是装载一些函数,可以动态加载。的前景以后一种比较理想的应用程序模式就是W化(条件是网络速度足够快),未来的软件应该不存在客户应用软件的说法了,客户就只有浏览器,浏览器就是操作系统,客户一边下载一边使用,当然下载的都是一个个功能独立的模块。而这些功能独立的模块就是组件,一般的是不能这么用的。
本文来自博客,转载请标明出处:
【上篇】【下篇】博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 su组件和群组的区别 的文章

 

随机推荐