Hopes

Start Here..

 

dll ocx com相关

    如果DLL是COM组件的话,一定要注册;如果是一般的DLL,不用注册。注册COM时,在注册表 HKEY_CLASS_ROOT\CLSID\中会保存有关信息,如DLL的路径,住所模式等。所以CoCreateInstance()可以找到DLL,这也是为什么将该dll移到他处必须重新注册的原因。
DLL有两种调用方法: 
1.用LoadLiabrary调用,不用注册。
2.用CoCreateInstance,通过CLSID,必须注册,目录没关系,只是移动位子以后,必须重新注。

【什么是Com?】
    COM的全称是组件对象模型(Component Object Model)。Com是一种规范,提供了二进制一级的跨语言能力。

【什么是Com组件?】
   顾名思义就是指实现了com规范的组件,他分为进程内组件、进程外组件和分布式组件(DCOM),进程内组件一般是使用DLL技术封装的(ocx也是一种特殊 的COM组件),进程外组件和分布式组件一般都是使用exe封装。dll和调用者同一个进程,dll如果crash,会使调用者也crash;exe和调用者不在同一个进程,他crash不会使调用者crash。dll性能好,因为在同一个进程,不用列集。

【什么是DLL?】
    DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源,一般来说,DLL是一种磁盘文件。dll、DRV、FON、SYS和许多以.EXE为扩展名的系统文件都可以是DLL。它由全局数据、服务函数和资源组成,在运行时被系统加载到调用进程的虚拟空间中,成为调用进程的一部分。如果与其它 DLL 之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上。DLL 模块中包含各种导出函数,用于向外界提供服务。DLL 可以有自己的数据段,但没有自己的堆栈,使用与调用它的应用程序相同的堆栈模式;DLL 在内存中只有一个实例;DLL 实现了代码封装性;DLL 的编制与具体的编程语言及编译器无关。微软的Visual C++支持三种DLL,它们分别是Non-MFC Dll(非MFC动态库)、Regular Dll(常规DLL)、Extension Dll(扩展DLL)。
下表说明了 Windows 操作系统中的一些作为 DLL 实现的文件:
 
ActiveX 控件 (.ocx) 文件
ActiveX 控件的一个示例是日历控件,它使您可以从日历中选择日期。
控制面板 (.cpl) 文件
.cpl 文件的一个示例是位于控制面板中的项。每个项都是一个专用 DLL。
设备驱动程序 (.drv) 文件
设备驱动程序的一个示例是控制打印到打印机的打印机驱动程序。
【OCX和DLL的区别】
ocx为后缀名的
ActiveX控件是一种比较特殊的DLL
,它的基础是OLE和COM,是有交互界面的可视化控,定义了控件的属性和方法,定义控件可引发的事件的响应。我们通常说的.DLL为后缀名的文件是一个包含函数和数据的模块集合,可以被其它应用程序共享的程序模块。
  【OLE、ActveX、COM 发展过程】
    都是微软的一些技术标准。Ole比较老后来发展成Activex,再后来发展成为COM。ocx/dll是扩展名。Activex有两种扩展名ocxdll。实际上你可以把它们的扩暂名字调,COM作为ActiveX的更新技术,扩展名也有可能是dll, DLL文件还有可能是动态链接库(.dll扩展名)。主要是装载一些函数,可以动态加载。

posted on 2012-05-20 10:39 ** 阅读(396) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

你好!

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

新闻档案

相册

收藏夹

C#学习

友情链接

搜索

最新评论

阅读排行榜

评论排行榜