原创 ATL Internals 2ed複習.chapter 3.CComPtr CComQIPtr

A Review of Smart Pointers 使用smart pointers的好處: 對象析構時,自動release interface 發生異常時,創建在棧上的對象自動release interface assignment操

原创 虛擬電子秤之Atl實現01

組件技術一直都想用一下,但是無奈技術門檻太高,爲了項目進度需要不得不退而求其次,使用那些自己有把握的技術,大好青春浪費在了重複勞動之中。拜今年經濟危機所賜,項目一下子少了許多,於是萌生了深入學習ATL的念頭。 衆所周知,COM和ATL早已

原创 boost::thread使用方法

首先調用thread的構造函數 Default Constructor thread(); Effects: Constructs a boost::thread instance that refers to

原创 ATL Internals 2ed複習.chapter 2

String Data Types, Conversion Classes, and Helper Functions 對於字符串表示,不同的系統有不同的方法 C/C++使用在字串末尾加Nul VB,Java,Pascal在字串頭部標識字

原创 COM、ATL學習的幾本書點評

Essential COM:中級教程 我看的是En版,這種很艱深的書還是看原版的比較不容易走火入魔。作者Don Box現在好像成了.Net大佬,不過該書非常經典,美中不足的是有一些問題沒有論述。書的末尾有一個例子,但是每一章沒有實例,所以

原创 ATL Internals 2ed複習.chapter 3.SAFEARRAY

  A Review of the COM SAFEARRAY Data Type 爲了在COM函數間傳遞Array參數,IDL定義了SAFEARRAY類型: interface IMyInterface : IUnknown {

原创 ATL Internals 2ed複習.chapter 3.CComVariant

在使用COM時,有時候用戶不知道函數的輸入參數,輸出參數的具體類型。例如用戶傳入long類型,函數會把用戶傳入的long轉換成自己想要的參數類型例如BSTR。其中起到關鍵作用的就是VARIANT類型 VARIANT.vt==當前存儲的數據

原创 ATL Internals 2ed複習.chapter 3.CComSafeArray

template <typename T, VARTYPE _vartype = _ATL_AutomationType<T>::type> class CComS

原创 ATL Internals 2ed複習.chapter 5.Object Map

由於有3種COM Server,ATL提供了CAtlModule的派生類對應 CAtlDllModuleT:in-process dll CAtlExeModuleT:out-process exe CAtlServiceModuleT:

原创 ATL Internals 2ed複習.chapter 6.各種interface map宏

COM_INTERFACE_ENTRY and COM_INTERFACE_ENTRY_IID #define COM_INTERFACE_ENTRY_IID(iid, x) \ { &i

原创 ATL Internals 2ed複習.chapter 4.IUnknown

Standalone Reference Counting template <class ThreadModel> class CComObjectRootEx : public CComObjectRootBase 中的類型定義: t

原创 ATL Internals 2ed複習.chapter 5.CAtlModule

The _AtlModule Global Variable 每一個項目,wizard都會生成一個全局變量_AtlModule,用戶可以通過全局指針_pAtlModule來訪問它,例如: class CMathModule : publ

原创 OMRON NB7觸摸屏添加.h頭文件

OMRON新的NB7觸摸屏號稱支持c89語言,但是我進去一看其每個生成的用戶c文件,都有一個MainEntry()似乎是開放給上級某個虛擬引擎調用的,用戶c文件無法看到其他的用戶c文件,也無法共享函數和數據結構。 我試着在項目文件夾裏查找

原创 VC靜態鏈接庫建立(ZT自MSDN)

Walkthrough: Creating and Using a Static Library  Visual Studio 2005 Other Versions Visual Studio 2012 Vis

原创 OMRON NB7觸摸屏讀寫功能外移

當前做的項目要在觸摸屏上實現操作人員權限管理,主要是前後翻頁,人員添加刪除等等 由於nb可以支持.h,我邏輯引擎已經用c語言全部用Qt+mwing實現完畢,到時候在MainEntry中添加Go(),不過其中要用到讀寫本地內存的操作,就遇到