dll ActiveX dll COM组件 .NET组件的区别

普通的DLL跟ActiveXDLL有什么区别,ActiveXDLL是不是就是COM组件?为什么普通的DLL,VB不能引入。MFC生成的dll是普通的DLL还是Active... 普通的DLL 跟ActiveX DLL有什么区别,ActiveX DLL 是不是就是COM组件?为什么普通的DLL,VB不能引入。MFC生成的dll是普通的DLL还是ActiveX DLL? 展开
 我来答
帐号已注销
推荐于2016-02-24 · TA获得超过151个赞
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:174万
展开全部
ActiveX.dll是进程内的组件(如果不用MTS),
ActiveX.exe是进程外组件,主要区别在于与调用者是不是属于同一个进程。
ActiveX.exe 可以做AutomotionServer或DCOMServer,
普通的不能。
平台移植:DLL的平台移埴方便些,COM就只能在win32下
语言支持:COM对win32下的语言支持好些,基本所有语言都可以调用,如VB,JavaScript等.
接口:DLL一般是以函数API的方式提供,COM则是用类的方式
向前兼营:DLL可以保留接口,增加函数,但感觉还是没有COM的方便,COM可以新增一个接口,对应的是一个类,使用上更方便些.特别在多次升级后,应该 COM更有优势
多进程共享:DLL可以共享内存段,COM可以是以独立进程存在.应该说COM更强些.
更多追问追答
追问
ActiveX dll跟COM组件都可以引用。是不是同样的东西?
追答
ActiveX组件 和 COM组件
两者没有质的区别,前者主要用于客户端,后者用于服务器端
前者可以有界面而后者决没有界面
php中通过com函数组都可以使用
vb工程里有专门的com工程
kinch_ttp
2012-12-15 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:26.7万
展开全部
DLL是Windows下通用的运行时动态调用程序库的包装,任何程序库都可以包装成为DLL,但是ActiveX DLL是一种特殊的程序库,它必须实现windows定义的一组用于ActiveX的程序接口,并在windows注册表中注册,才能够被程序调用。
MFC可以生成普通的,也可以生成ActiveX的,看你的程序中有没有按照微软ActiveX的要求定义接口。
追问
没说到ActiveX dll跟COM组件的关系啊。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wing0001
2012-12-15 · 超过24用户采纳过TA的回答
知道答主
回答量:92
采纳率:100%
帮助的人:33.7万
展开全部
activex dll 和com一样需要注册,所有引用这个dll的地方都是先查询相关注册,再调用它,
普通dll不能通过加入引用来使用,但是可以通过声明来调用接口,但是前提是需要暴露接口,com暴露的接口可以通过生成的文件进行直接调用,我理解是com可以省去你自己声明接口那一步。mfc只是一个框架,具体生成什么,需要看你项目类型是什么,编译条件是什么了。
追问
额,没看到VC可以选择生成ActiveX dll,只有mfc dll,怎么弄?我记得mfc可以写普通的dll。但是还有种不知道是不是COM。
追答
建立com或者activex项目就行了,里面的接口要按规定写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式