实现灵活性时,到底应该使用COM组件还是DLL?
在实现灵活性时,比如实现一个基本框架,以后的人事部、商务部等都以组件形式提供,将基本框架支持的COM接口写成SDK开发文档,以使得第三方开发商可以为此基本框架开发任意插件(如:财务部)。
问题是此插件使用COM实现还是原始的DLL?如3DMAX、Winamp都使用Dll的形式,虽然它们也都注册了COM组件,但你将它们插件目录下的DLL移走,它们将不会显示那个插件的功能。
我并不是想要实现这个效果,只是想要一个标准,即使COM组件完全包含DLL,但功能不可以过量,就好象C++中函数的const修饰符,只是语义上的需求,你完全可以在你的成员函数const CString& GetName() const{...}中将后面的const去掉,但它不可以去掉一样。
问题是此插件使用COM实现还是原始的DLL?如3DMAX、Winamp都使用Dll的形式,虽然它们也都注册了COM组件,但你将它们插件目录下的DLL移走,它们将不会显示那个插件的功能。
我并不是想要实现这个效果,只是想要一个标准,即使COM组件完全包含DLL,但功能不可以过量,就好象C++中函数的const修饰符,只是语义上的需求,你完全可以在你的成员函数const CString& GetName() const{...}中将后面的const去掉,但它不可以去掉一样。
...全文
相关推荐
用VC进行COM编程所必须掌握的理论知识.doc
- **动态链接**:COM组件可以在运行时被加载和卸载,提高了程序的灵活性。
COM编程技术基础
**无需源码重编译**:COM组件的使用不依赖于源码,只需通过组件接口进行调用,无需每次更新组件时都重新编译应用程序。3.
用ATL建立轻量级的COM对象
相较于其他更为复杂且功能全面的框架(例如MFC),ATL以其简洁高效著称,能够帮助开发者创建轻量级、自包含且可复用的二进制代码,同时避免了对额外运行时DLL的支持需求。#### 为何选择ATL?1.
Pro_OGRE_3D_Programming
- **动态链接**:Windows系统中使用DLL文件时,除了链接相应的DLL外,还需要链接对应的导入库。
在NI LabVIEW 环境中使用Agilent GPIB解决方案的应用提示
**启用NIVISATulip.dll** - NIVISATulip.dll是一个关键组件,用于确保Agilent 82357B USB/GPIB转换器能够被正确识别并与LabVIEW和其他NI软件协同工作


