现在位置: 首页 > COM
2014-10-08 10:09 工业·编程 ⁄ 共 1762字 暂无评论
     Qt下的COM组件开发着实让人害怕,因为不是简单的调用,而是需要人为的去包装一下COM,然后在包装的基础上去使用COM中的方法和类。我们习惯了VC编译器带来的便利,通过VC编译器,只需直接import一下组件编译器就能自动帮我们导出COM的tlh描述文件,接下来用户就能很方便的去调用接口,使用方法。        最新的Qt直接可以下载SDK,这些SDK直接基于MinGW编译器,所以如果...
阅读全文

2013-12-15 13:45 工业·编程 ⁄ 共 395字 暂无评论
在MFC中除了前文的几种方法外,还有一种更方便的方法,就是通过ClassWizard利用类型库生成包装类,不过有个前提就是com组件的接口必须是派生自IDispatch。 相关阅读 ----在SDK中调用COM 具体方法:     按Ctrl+W调出类向导,按Add Class按钮弹出新菜单,选From a type libarary,然后定位到simpCOM.dll,接下来会出来该simpCOM中的所有接口,选择你想生成的接口包装类后,向导会自动生成相应的.cpp和.h文件。 &#...
阅读全文
2013-12-15 13:42 工业·编程 ⁄ 共 1796字 评论 1 条
COM服务器为进程内服务器,DLL名为simpCOM.dll,该组件只有一个接口IFoo,该接口只有一个方法HRESULT SayHello(void). 一、最简单最常用的一种,用#import导入类型库,利用VC提供的智能指针包装类 演示代码: #import "D:\Temp\vc\simpCOM\Debug\simpCOM.dll" no_namespace CoInitialize(NULL); IFooPtr spFoo = NULL; spFoo.CreateInstance(__uuidof(Foo)); spFoo->SayHello(); spFoo.Release();/*晕死了,本来智能...
阅读全文
2013-08-02 06:57 工业·编程 ⁄ 共 1583字 暂无评论
    首先声明本人并非COM/ATL高手,尽管本人接触他们已经有4年了,但是因为工作中的一些原因一直未能深入研究和广泛的实际的使用它们。不过回想学习它们的痛苦经历,实在是有点不堪回首。在此仅以此文和大家探讨一下学习它们的路径,以让后来人少走弯路。     我个人认为学习COM是一件不简单的事情,只有一步一个脚印踏踏实实的理解每个观点和理论才能真正懂得其精髓。那样才能在发生错误的时候...
阅读全文
2013-03-19 22:38 工业·编程 ⁄ 共 2658字 暂无评论
1、IPicture::Render简介 HRESULT Render( HDC hdc, //Handle of device context on which to render the image long x, //Horizontal position of image in hdc long y, //Vertical position of image in hdc long cx, //Horizontal dimension of destination rectangle long cy, //Vertical dimension of destination rectangle OLE_XPOS_HIMETRIC xSrc, //Horizontal offset in source picture OLE...
阅读全文
2013-03-18 22:36 工业·编程 ⁄ 共 4760字 暂无评论
1、IPicture接口对象的创建          方法1:直接通过文件创建 LPCSTR szFileUrl; IPicture *pIPicture; OleLoadPicturePath(CComBSTR(szFileUrl),     (LPUNKNOWN)NULL,     0,     0,     IID_IPicture,    (LPVOID*)&pIPicture)) ...
阅读全文
2012-12-13 12:03 工业·编程 ⁄ 共 10851字 暂无评论
注:本文只是学习心得,深入学习建议看潘爱民翻译的那本《COM本质论》。 COM/ATL从入门到精通的学习参考书 这几天在学习COM组件技术,网上看了很多教程,发现有一些很基础的东西基本都没有涉及,下面我就结合网上的一些教程加上自己的体会来进行一些总结。 (1)COM组件是什么? COM组件由以Win 32动态连接库(DLL)或可执行文件(EXE)形式发布的可执行代码所组成。再向深入了看,以C++为例,COM组件实际上就是一...
阅读全文
1.问题阐述 C++类对象、DLL及COM都是面对向对象的,它们都实现了重用,避免了程序员重复造轮子的现象的产生。那么它们之间有什么区别呢? 2.实现技巧 C++对象重用是定义在源代码级别上的,而DLL和COM是定义在二进制级别上的重用,是执行代码重用的技术。     DLL和COM都实现了模块之间的通信,但是DLL对于内存的利用和数据类型使用没有一定的约束规范。而COM对数据、内存等其他的几个方面进行了规范,使得软件...
阅读全文
微软的许多技术,如OLE、ActiveX、以及DirectX等都是基于COM技术而建立起来的。微软本身也大量地使用COM组件来定制他们的应用程序及操作系统。那么,什么是COM呢? 所谓COM即“组件对象模型”,是一种说明如何建立可动态互变组件的规范,此规范提供了为保证能够互操作,客户和组件应遵循的一些二进制和网络 标准。通过这种标准将可以在任意两个组件之间进行通信而不用考虑其所处的操作环境是否相同、使用的开发语言是否一致以及...
阅读全文
    首先声明本人并非COM/ATL高手,尽管本人接触他们已经有4年了,但是因为工作中的一些原因一直未能深入研究和广泛的实际的使用它们。不过回想学习它们的痛苦经历,实在是有点不堪回首。在此仅以此文和大家探讨一下学习它们的路径,以让后来人少走弯路。 》》》学习C++从入门到精通的经典书籍(修正版)     我个人认为学习COM是一件不简单的事情,只有一步一个脚印踏踏实实的理解每个观点和理论...
阅读全文