C++輔導(dǎo):在VC中使用代碼組件的三種方法

字號(hào):

1.使用COM庫函數(shù)(最麻煩,要求對(duì)COM原理有深的理解)
    2.使用MFC OLE的ClassWizard
    3.使用#import指令(一般都用這種,利用了只能指針_com_ptr_t,它能自動(dòng)執(zhí)行COM的QueryInterface,AddRef和Release函數(shù))
    不需要你在工程中對(duì)組件進(jìn)行維護(hù).
    下面詳細(xì)說明各種用法:
    第一種方法:
    創(chuàng)建工程,并初始化COM庫.在InitInstance的開始和返回前分別添加:
    CoInitialize(NULL);
    ...
    CoUninitialize();
    包含組件頭文件 :#include "..COMSample.h"
    #include"..COMSample_i.c"
    .h文件包含了接口的C++定義,并說明IID,CLSID的符號(hào)化常量 .c文件包含了IID,CLSID和LIBID的GUID定義
    第二種方法:
    創(chuàng)建工程,初始化COM. 在應(yīng)用程序類的InitInstance中添加AfxOleInit();
    創(chuàng)建組件包裝類:View->ClassWizard單擊"AddClass",選擇From a Type Library(來自類型庫),在..COMSample.tlb
    釋放組件對(duì)象:ReleaseDispatch();
    第三種方法:
    創(chuàng)建工程,初始化COM,在InitInstance中調(diào)用AfxOleInit();
    利用#inport指令引入類型庫.在stdafx.h中添加:#import "..COMSample.tlb" rename_namespace("...") using namespace ...
    定義智能指針變量