<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bird207的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/bird207</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; bird207]]></copyright><item><title><![CDATA[VC 实现 汉字 GBK(GB2312) 转化为 UTF8 编码 ]]></title><link>https://blog.csdn.net/bird207/article/details/2705593</link><guid>https://blog.csdn.net/bird207/article/details/2705593</guid><author>bird207</author><pubDate>Thu, 24 Jul 2008 16:33:00 +0800</pubDate><description><![CDATA[ void ConvertUtf8ToGBK(CString& strUtf8)     {        int len=MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUtf8, -1, NULL,0);        unsigned short * wszGBK = new unsigned short[len+1];        memset(w]]></description><category></category></item><item><title><![CDATA[HTTP协议中的Tranfer-Encoding：chunked编码解析 ]]></title><link>https://blog.csdn.net/bird207/article/details/2704730</link><guid>https://blog.csdn.net/bird207/article/details/2704730</guid><author>bird207</author><pubDate>Thu, 24 Jul 2008 14:27:00 +0800</pubDate><description><![CDATA[ 当不能预先确定报文体的长度时，不可能在头中包含Content-Length域来指明报文体长度，此时就需要通过Transfer-Encoding域来确定报文体长度。    通常情况下，Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是HTTP/1.1 RFC里定义的一种编码方式，因此所有的HTTP/1.1应用都应当支]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十八）——属性包]]></title><link>https://blog.csdn.net/bird207/article/details/2662285</link><guid>https://blog.csdn.net/bird207/article/details/2662285</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:03:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十八）——属性包作者：杨老师下载源代码一、前言　　书接上回，本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包，是以“名称 - 值”的方式提供组件持续性的支持，而“名称 - 值”恰恰又适合于用文本方式来表现。下面的片段是在 HTML 中插入 Microsoft MonthView Control ActiveX 控件后的样]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（十七）——持续性]]></title><link>https://blog.csdn.net/bird207/article/details/2662282</link><guid>https://blog.csdn.net/bird207/article/details/2662282</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:02:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（十七）——持续性作者：杨老师下载源代码一、前言　　我们写程序，经常需要实现这样的需求：例一、程序运行产生一个窗口，用户关闭的时候需要记录窗口的位置，以便下次运行时保持位置不变；例二、由于程序运行时间很长，今天执行一部分，明天继续执行。那么在下次运行前要恢复前次的状态；... ... ... ...智慧的老师：以上这些需求，如何实现呢？懵懂的学生：这个简单，只要在程]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十六）]]></title><link>https://blog.csdn.net/bird207/article/details/2662280</link><guid>https://blog.csdn.net/bird207/article/details/2662280</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:01:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十六）连接点(vc.net)作者：杨老师下载源代码一、前言　　上回书介绍了回调接口，在此基础上，我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端，右侧为服务端（组件对象）　　看着好复杂呀......呵呵，其实简单的紧：（注1）1、一个 COM 组件，允许有多个连接点对象(IConnectionPoint)。   也就是说可以有多个发生“事件”的]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十五）]]></title><link>https://blog.csdn.net/bird207/article/details/2662278</link><guid>https://blog.csdn.net/bird207/article/details/2662278</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:01:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十五）连接点(vc6.0)作者：杨老师下载源代码一、前言　　上回书介绍了回调接口，在此基础上，我们理解连接点就容易多了。二、原理图一、连接点组件原理图。左侧为客户端，右侧为服务端（组件对象）　　看着好复杂呀......呵呵，其实简单的紧：（注1）1、一个 COM 组件，允许有多个连接点对象(IConnectionPoint)。   也就是说可以有多个发生“事件”的源]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十四）]]></title><link>https://blog.csdn.net/bird207/article/details/2662277</link><guid>https://blog.csdn.net/bird207/article/details/2662277</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:00:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十四）事件和通知(vc.net)作者：杨老师下载源代码一、前言　　我的 COM 组件运行时产生一个窗口，当用户双击该窗口的时候，我需要通知调用者；　　我的 COM 组件用线程方式下载网络上的一个文件，当我完成任务后，需要通知调用者；　　我的 COM 组件完成一个钟表的功能，当预定时间到达的时候，我需要通知调用者；　　... ... ... ...　　本回书开始话说 ]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十三）]]></title><link>https://blog.csdn.net/bird207/article/details/2662274</link><guid>https://blog.csdn.net/bird207/article/details/2662274</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 18:00:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十三）事件和通知(VC6.0)作者：杨老师下载源代码一、前言　　我的 COM 组件运行时产生一个窗口，当用户双击该窗口的时候，我需要通知调用者；　　我的 COM 组件用线程方式下载网络上的一个文件，当我完成任务后，需要通知调用者；　　我的 COM 组件完成一个钟表的功能，当预定时间到达的时候，我需要通知调用者；　　... ... ... ...　　本回书开始话说 C]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十二）]]></title><link>https://blog.csdn.net/bird207/article/details/2662272</link><guid>https://blog.csdn.net/bird207/article/details/2662272</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:59:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十二）错误与异常处理作者：杨老师下载源代码一、前言　　程序设计中，错误处理必不可少，而且通常要占用很大的篇幅。本回书着落在 COM 中的错误（异常）的处理方法。　　在组件程序中，如果遇到错误，一般有两个方式进行处理。二、简单返回　　对于比较简单的错误，直接返回表示错误原因的 HRESULT。比如下面几个就是常见的错误值：　 E_INVALIDARG]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（十一）]]></title><link>https://blog.csdn.net/bird207/article/details/2662266</link><guid>https://blog.csdn.net/bird207/article/details/2662266</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:58:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（十一）IDispatch 及双接口的调用作者：杨老师下载源代码一、前言    前段时间，由于工作比较忙，没有能及时地写作。其间收到了很多网友的来信询问和鼓励，在此一并表示感谢。咳......我也需要工作来养家糊口呀......    上回书介绍了两种方法来写自动化(IDispatch)接口的组件程序，一是用 MFC 方式编写“纯粹”的 IDispatch 接口；二]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（十）]]></title><link>https://blog.csdn.net/bird207/article/details/2662260</link><guid>https://blog.csdn.net/bird207/article/details/2662260</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:56:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（十）IDispatch 接口 for vc.net作者：杨老师下载源代码 一、前言    终于写到了第十回，我也一直期盼着写这回的内容耶，为啥呢？因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能，就连我们使用的VC开发环境也提供了“宏”功能，更由于 HTML、A]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（九）]]></title><link>https://blog.csdn.net/bird207/article/details/2662256</link><guid>https://blog.csdn.net/bird207/article/details/2662256</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:56:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（九）IDispatch 接口 for vc6.0作者：杨老师下载源代码 一、前言    终于写到了第九回，我也一直期盼着写这回的内容耶，为啥呢？因为自动化(automation)是非常常用、非常有用、非常精彩的一个 COM 功能。由于 WORD、EXCEL 等 OFFICE 软件提供了“宏”的功能，就连我们使用的VC开发环境也提供了“宏”功能，更由于 HTML、AS]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（八）]]></title><link>https://blog.csdn.net/bird207/article/details/2662253</link><guid>https://blog.csdn.net/bird207/article/details/2662253</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:55:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（八）实现多接口作者：杨老师下载源代码 一、前言    从第五回开始到第七回，咱们用 ATL 写了一个简单的 COM 组件，之所以说简单，是因为在组件中，只实现了一个自定义(custom)的接口 IFun。当然如果想偷懒的话，我们可以把 200 个函数都加到这一个接口中， 果真如此的话，恐怕就没有人喜欢使用我们这个组件了。一个组件既然可以提供多个接口，那么我们在设计的]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（七）]]></title><link>https://blog.csdn.net/bird207/article/details/2662249</link><guid>https://blog.csdn.net/bird207/article/details/2662249</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:55:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（七）编译、注册、调用作者：杨老师一、前言　　上两回中，咱们用 ATL 写了第一个 COM 组件程序，这回中，主要介绍编译、注册和调用方法。示例程序你已经下载了吗？如果还没有下载，vc6.0 的用户点这里，vc.net 的用户点这里。二、关于编译　　2-1 最小依赖　　“最小依赖”，表示编译器会把 ATL 中必须使用的一些函数静态连接到目标程序中。这]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（六）]]></title><link>https://blog.csdn.net/bird207/article/details/2662245</link><guid>https://blog.csdn.net/bird207/article/details/2662245</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:54:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（六）用 ATL 写第一个组件作者：杨老师下载源代码一、前言　　1、与 《COM 组件设计与应用(五)》的内容基本一致。但本回讲解的是在 vc.net 2003 下的使用方法，即使你不再使用vc6.0，也请和上一回的内容，参照比对。　　2、这第一个组件，除了所有 COM 组件必须的 IUnknown 接口外，我们再实现一个自己定义的接口 IFun，它有两个函数： A]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（五）]]></title><link>https://blog.csdn.net/bird207/article/details/2662240</link><guid>https://blog.csdn.net/bird207/article/details/2662240</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:53:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（五）用 ATL 写第一个组件作者：杨老师下载源代码一、前言　　1、如果你在使用 vc5.0 及以前的版本，请你升级为 vc6.0 或 vc.net 2003；　　2、如果你在使用 vc6.0 (ATL 3.0)请阅读本回内容；　　3、如果你在使用 vc.net(ATL 7.0)请阅读下回内容；(当然读读本文内容也不错)　　4、这第一个组件，除了所有 COM 组件必]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（四）]]></title><link>https://blog.csdn.net/bird207/article/details/2662237</link><guid>https://blog.csdn.net/bird207/article/details/2662237</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:53:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（四）简单调用组件作者：杨老师一、前言　　同志们、朋友们、各位领导，大家好。　 　VCKBASE 不得了，　　网友众多文章好。　　组件设计怎么学？　　知识库里闷头找！　　　摘自---杨老师打油集录　　在 VCKBASE 的顶力支持下，在各位网友回帖的鼓励下，我才能顺利完成系列论]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（三）]]></title><link>https://blog.csdn.net/bird207/article/details/2662235</link><guid>https://blog.csdn.net/bird207/article/details/2662235</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:52:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（三）数据类型作者：杨老师一、前言　　上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀？咳......别着急，别着急！孔子曰：“饭要一口一口地吃”；老子语：“心急吃不了热豆腐”，孙子云：“走一步看一步吧” ...... 先掌握必要的知识，将来写起程序来才会得心应手也:-)　　走入正题之前，请大]]></description><category></category></item><item><title><![CDATA[COM组件设计与应用（二）]]></title><link>https://blog.csdn.net/bird207/article/details/2662232</link><guid>https://blog.csdn.net/bird207/article/details/2662232</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:52:00 +0800</pubDate><description><![CDATA[ COM组件设计与应用（二）GUID 和 接口作者：杨老师一、前言　　书接上回，话说在 doc(Word) 复合文件中，已经解决了保存 xls(Excel) 数据的问题了。那么，接下来又要解决另一个问题：当 WORD 程序读取复合文件，遇到了 xls 数据的时候，它该如何启动 Excel 呢？启动后，又如何让 Excel 自己去读入、解析、显示 xls 数据呢？二、CLSID 概念　　有一]]></description><category></category></item><item><title><![CDATA[COM 组件设计与应用（一）]]></title><link>https://blog.csdn.net/bird207/article/details/2662226</link><guid>https://blog.csdn.net/bird207/article/details/2662226</guid><author>bird207</author><pubDate>Wed, 16 Jul 2008 17:51:00 +0800</pubDate><description><![CDATA[ COM 组件设计与应用（一）起源及复合文件作者：杨老师一、前言　　公元一九九五年某个夜黑风高的晚上，我的一位老师跟我说：“小杨呀，以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”，当时我心里就寻思 ：“开什么玩笑？搭积木方式写程序？再过100年吧......”，但作为一名听话的好学生，我开始在书店里“踅摸”（注1）有关OLE的书籍（注2）。功夫不负有心人，终于买到了]]></description><category></category></item></channel></rss>