• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > ★不想学得糊涂,请高手指点COM的一些概念问题★

★不想学得糊涂,请高手指点COM的一些概念问题★

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了游戏高手指点解答,vn怎么玩求高手指点,哇嘎速度慢请高手指点,赛鸽育种高手指点,请高手指点等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ★不想学得糊涂,请高手指点COM的一些概念问题★
描述:

小弟接触COM也有一段时间了,对很多COM相关的概念还没弄清楚,查了许多资料,资料上也讲得迷迷糊糊的,所以向大家请教一下:
    一、经常看到DLL、OLE、ActiveX、COM等技术资料,他们之间到底是些什么关系,有什么区别与联系?小弟只知道ActiveX与COM有密切的联系,而COM又以DLL文件形式存在,ActiveX又以.ocx形式存在,对OLE到底是什么东西有什么用也没弄明白。
    二、对于GUID、CLSID经常弄不清楚,(他们的样子很相象),作用也不太明白。好象COM一定要在注册表注册,不知OLE、COM组件是否一定需要注册啊?不注册能用吗?
    望各位高手能详细指教一下(不要笑话小弟白痴啊,我真的没弄明白)


解决方案1:

COM是一个二进制标准,它是以DLL形式存储的,由于传统DLL没有解决一些诸如内存分配,卸载等关键性问题,所以它不足以成为一个组件模型,而COM定义了这些标准。OLE算是COM的前身,到OLE2后就正式出现为COM标准,它已经在OLE(对象连接与嵌入)上作了极大的改进,成为一个独立的标准,而ActiveX是微软提出的一个专有名词,目的是实现网上的一些应用,它的本质就是COM。
CLSID是用来标志每个COM组件的,CLSID是属于GUID的,格式一样,只是CLSID有特定用途,换了个名字而已,COM一定要注册,不注册的话就找不到他的具体位置,好像.net以后就不需要注册了。
我也不太懂,一起学习

解决方案2:

COM是一种标准,巧妙的利用了运行时绑定的技术。可以DLL形式存在,也可以exe形式存在。
ActiveX是COM标准的一个具体应用而已。ocx文件就是动态连接库文件,扩展名不同而已。OLE也是一种技术的名称,叫对象连接与嵌入,主要目的是通过一套约定,来使得不同程序能相互传递数据。ole2以后都是通过的COM技术来实现OLE了。
GUID是一种常量,这种常量能保证世界上任何地方的任何人在任何时候都能产生一个不同于其他人的值。CLSID就是GUID,只不过看起来明确一点,他是指代class的。类似的还有IID,是指代interface的。
就好像UINT 就是 unsigned long。只不过看起来舒服些。
注册是为了使用windows系统提供的方便。
建议找本好一点的书看看,<com技术内幕>或者<com原理与应用>。都好能都看,如果基础不错的话要看<com本质论>

解决方案3:

上面的说的很好!我补充一点吧!
CLSID可以这么解释class id,GUID是全局唯一ID,CLSID也是属于GUID的,例如IID是Interface ID。多看看COM本质!
DLL,OLE->COM->ActiveX,ATL->COM+,DCOM->现在出现.NET中的公共语言环境。
这是我自己的理解,希望对你有帮助!


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 求高手指点dll安装遇到的怪问题
  • 初学com就遇到问题了,高手指点一下
  • 请各位高手指点,程序如何自动向IE的EDIT控件写入密码和用户名?
  • 请高手指点浏览器插件对应于注册表中的那一个位置
  • 高手指点下串口接收数据的问题
  • 求高手指点!我想获取一个段落的每个字符的格式,有什么好的方法么
  • 求高手指点,如何得到对话框中activex控件的对象
  • 请高手指点!!!CMSCOM控件可否用于多线程的通讯?
  • 使我棘手1天1夜的线程问题,请高手指点
  • 高手指点,关于多线程的调试。

相关文章

  • 2017-06-04 怎样使VC导入WORD中的一张图片布满整个页面
  • 2017-06-05 shellexecute与进程之间的的问题,高手请进,有难度!!!!!!!!!!!!1
  • 2017-06-04 调用COM组件接口函数时出现运行错误
  • 2017-06-05 怎么遍历系统当前所有进程?
  • 2017-06-04 MFC中怎么在按钮上贴图并且点击后可以循环切换
  • 2017-06-04 vc(ATLCOM)编程中excel怎样调用activex控件
  • 2017-06-04 com调用的死锁问题
  • 2017-06-04 这个VBScript的数据类型用VC的函数来接收,应该用什么数据类型呢?
  • 2017-06-04 小虾紧急呼叫:如何将自建文件与一个图标相关联?
  • 2017-06-04 用vc如何实现网页响应头信息的访问啊如:cookie信息,各位老大帮忙啊

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • windows流媒体,directshow还是主流么?
    • 用ATL做的控件,在注册时失败(错误码0x1f)的问题?
    • 请教大家,如何从一个OCX中遍历出它的所有属性,就象VC的设计界面能够看到控件的属性,谢谢大家!!!!
    • 动态连接库导出成静态库?
    • 各位兄弟,谁有codesignexe安装程序啊,帮忙了!!!
    • 在MFC中使用CArry这个数组
    • 关于多媒体时钟所产生的线程操作
    • 有什么方式可以调试COM组件
    • 在线等,想了很久,请大家帮忙!!!
    • 我想在SDK程序中实现Activex控件的调用,控件事件的绑定,请问怎么实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有