藺新華


摘要:隨著軟件開發技術的發展,COM組件在現代編程中越來越重要,不懂得COM就很難跟上時代。COM為程序員開發Windows應用程序帶來了便利,而COM最令人矚目的實現就是ActiveX控件。該文介紹了如何用ATL技術制作輕量級的ActiveX控件,怎樣在客戶容器中與ActiveX控件通訊。
關鍵詞:COM;ATL;ActiveX;通訊
中圖分類號:TP3
文獻標識碼:A
文章編號:1009-3044(2017)10-0057-03
1.CoM,ActiveX和ATL概述
COM(Component Object Model,組件對象模型)是Windows操作系統的技術和核心,是搭建Windows應用程序的基礎,COM技術規范描述了一種創建組件即可重復使用的對象的方法,它提供了一種基于接口查詢的機制來完成對象之間的通訊,以客戶/服務器程序的體系結構協同完成特定的功能,COM已經成為新世紀的Windows程序員必須掌握的技術,同時該技術已經成為Microsoft公司開發方向的重點,COM技術最令人矚目的就是AcfiveX控件,ActiveX控件可以看作一種早期產品(即VBX)的延伸,同VBX相比,ActiveX定義了一個對程序設計語言中立的接口,ActiveX提供了如下的特性:
1.1語言的無關性
這使得基于Windows平臺的開發工具可以混用AcfiveX控件,例如你可以用C++編寫,而在Visual Basic中使用,達到二進制的設計標準。
1.2軟件版本升級的健壯性
ActiveX控件通過提供多接口機制支持軟件版本升級的健壯性,ActiveX控件的不同功能用不同的接口向外展示,要為舊的組件添加新的功能時,為組件新添加一個接口就行了,這樣舊的應用程序在不進行更新的情況下運行,同時新的應用程序可以通過查詢新接口利用組件的新功能。
1.3面向對象的特性
ActiveX控件允許以面向對象的方式傳遞其功能,AcfiveX控件提供三種基本的面向對象的特性,即封裝性、繼承性和多態性,并且是以一種語言無關的方式提供的。……