结构化存储
摘要:word excel 文档使用的存储格式均为结构化存储在结构化术语中: 目录对应于一个存储(storage) 文件对应于一个流(stream)
阅读全文
posted @
2016-01-10 16:42
aoun
阅读(221)
推荐(0)
ATL属性化
摘要:从VS.Net开始,MS开始支持属性化选项(这个选项位于ATL工程向导中的复选框“Attributed”),属性化使得接口声明非常干净清爽。在大规模的COM工程,这点很重要,使得一看到声明就知道提供了哪些接口,而不是在一大堆乱糟糟的派生类和模版类里面找。但是本质上并没有差别,只不过VS把一些代码隐藏...
阅读全文
posted @
2015-03-05 08:47
aoun
阅读(144)
推荐(0)
ATL常见错误处理
摘要:1.VS2008中ATL项目“对象不支持此属性和方法”问题参考地址:http://blog.sina.com.cn/s/blog_4dfc39d10100slhx.html
阅读全文
posted @
2015-03-02 23:11
aoun
阅读(197)
推荐(0)
COM的概念总结
摘要:1.COM是一种规范,和语言无关。只要语言支持COM规范就可以用来创建COM对象2.COM的母语仍然是C++,因为COM使用的数据类型,在一些语言中很难表达,所以一般来说用C++制作可重用模块,其他弱类型语言将模块集成到应用中。3.自动化技术为高级语言调用COM模块提供了有效途径,ActiveX是自...
阅读全文
posted @
2015-03-02 21:21
aoun
阅读(807)
推荐(0)
ATL字符串总结和转换
摘要:1.CString 转 BSTRCString s;...BSTR bstr = s.AllocSysString();2.BSTR在字符串之前放上字符数,这样处理起来有效率得多,这也决定了BSTR不能直接赋值:BSTR bstr = "...";//这是错误的ATL封装了CComBSTR类3.lo...
阅读全文
posted @
2015-03-01 23:02
aoun
阅读(252)
推荐(0)
自定义TCHAR2BSTRh函数和BSTR内存的释放
摘要:1 inline HRESULT TCHAR2BSTR(TCHAR * szBuf, BSTR * bstrNew) 2 { 3 try 4 { 5 WCHAR * wszBuf; 6 #ifndef UNICODE 7 wszBuf = new W...
阅读全文
posted @
2015-03-01 18:27
aoun
阅读(265)
推荐(0)
CComBstr CString 截取字符串
摘要:1 CComBSTR bstr;2 pDoc->get_FileName(&bstr);3 CString cstring(bstr);4 int len = cstring.GetLength();5 int pos = cstring.ReverseFind('\...
阅读全文
posted @
2014-12-17 15:25
aoun
阅读(708)
推荐(0)
JS脚本调试
摘要:1.IE设置允许脚本调试2.安全设置中允许允许运行未标记为安全的ActiveX控件
阅读全文
posted @
2014-06-28 00:49
aoun
阅读(185)
推荐(0)
Smart Pointer
摘要:以下内容摘自《http://blog.csdn.net/asanscape/article/details/6084600》Smart Pointer在初始化或释放等操作时,它们是一个对象,用点操作符,其他大部分操作则使用“->”操作符。For example: _ConnectionPtrm_p...
阅读全文
posted @
2014-06-27 16:08
aoun
阅读(133)
推荐(0)
Detach
摘要:1 T* Detach() throw()2 {3 T* pt = p;4 p = NULL;5 return pt;6 }
阅读全文
posted @
2014-06-19 14:18
aoun
阅读(134)
推荐(0)
VS2008 ATL 无法命中断点
摘要:把project 属性的Debugging->debugger type从auto改为mixed
阅读全文
posted @
2014-06-18 22:14
aoun
阅读(164)
推荐(0)
ATL自动化
摘要:Dispatch所谓自动化就是使用自动化的数据类型,即参数不是死的,VARIANT...IDispatchImpl...
阅读全文
posted @
2014-06-16 16:29
aoun
阅读(289)
推荐(0)
IDL 和内存管理 (in, out)
摘要:IDL :只带in属性的参数,client负责分配和释放参数所需内存只带out属性参数,server负责分配,client负责释放in/out属性参数,client负责分配和释放,但是如有需要,server可以重新分配
阅读全文
posted @
2014-06-16 14:37
aoun
阅读(501)
推荐(0)
ATL的PS工程
摘要:PS: (proxy / stub)当你开发的组件需要用到代理/存根(即IPC(LPC+RPC)),就需要该工程,否则此工程无用创建Proxy/Stub DLL1. nmake -f HelloPS.mk2.regsvr32 helloPS.dll
阅读全文
posted @
2014-06-16 13:59
aoun
阅读(466)
推荐(0)
ATL 调度(Marshaling)
摘要:调度(Marshaling): 进程和计算机之间进行函数参数和返回值传输的一个过程。核心: proxy / stub (代理 / 存根)当需要实现调度时,COM在客户程序进程地址空间创建一个proxy对象, 在组件的地址空间创建一个stub对象。客户程序与proxy交互,就像客户机和组件之间存在直接...
阅读全文
posted @
2014-06-16 13:49
aoun
阅读(247)
推荐(0)
ATL组件实现
摘要:For example:1 class ATL_NO_VTABLE CMath :2 public CComObjectRootEx3 public CComClass4 public IMath,5 public IAdvancedMath6 {7 ....8 };从CC...
阅读全文
posted @
2014-06-15 23:27
aoun
阅读(227)
推荐(0)
CComModule
摘要:CComModule为COM对象提供了基本的宿主支持,把windows中两种类型的宿主(EXE 和 DLL)之间的差别封装了起来。BEGIN_OBJECT_MAP(ObjectMap) OBJECT_ENTRY(CLSID_Math, CMath)END_OBJECT_MAP()CComModul...
阅读全文
posted @
2014-06-15 16:09
aoun
阅读(2341)
推荐(0)
COM基础2
摘要:COM把一个组件的功能分割到多个接口里,每一个接口都把一个小的、准确的功能集展现出来。(通过多个VTable实现)使用组件的模块可以直接与所需的功能模块(功能集)打交道。加入对marshaling的支持,从而能可以cross-thread, cross-process, cross-machine ...
阅读全文
posted @
2014-06-12 21:34
aoun
阅读(167)
推荐(0)
ATL窗体基础
摘要:CHAIN_MSG_MAP(baseClass)是个很简单的宏,就是调用某个基类的ProcessWindowsMessage函数。意味着你把消息路由给他,看它处理不处理// 处理程序原型: // LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LP...
阅读全文
posted @
2014-06-12 17:22
aoun
阅读(240)
推荐(0)
BSTR
摘要:以下内容摘自《http://blog.sina.com.cn/s/blog_66ec4d6601016q4z.html》#include "comutil.h"#pragma comment(lib, "comsupp.lib")::_com_util::ConvertBSTRToString(BS...
阅读全文
posted @
2014-06-08 16:25
aoun
阅读(202)
推荐(0)