翻譯|其它|編輯:郝浩|2006-06-23 16:51:00.000|閱讀 1961 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
適用于:
ActiveX
Microsoft .NET Compact Framework 版本 2.0
摘要:了解如何在使用 .NET Compact 的應用程序中宿主 ActiveX 控件。本文提供代碼示例下載。
從 Microsoft Download Center 下載 。
簡介
Microsoft .NET Compact Framework 版本 2.0 引入了組件對象模型 (COM) 支持 - 這是一項版本 1.0 中沒有的功能。以下事實或許能充分說明對該功能的迫切需要:Odyssey Software 已經發布了 CFCOM 產品(該工具用于突破對 COM 支持的限制,允許調用 COM 接口以及宿主 ActiveX 控件的工具),緊接著 .NET Compact Framework 立即發布了測試版。
盡管如此,在 .NET Compact Framework 中提供的 COM Interop 支持仍然是一個巨大進步。通過 COM 接口,Windows CE 中有越來越多的操作系統功能獲得支持。這些功能大致包括 UPnP、藍牙和 SDP、圖像處理、消息隊列(也稱作 MSMQ)、MAPI、Pocket Outlook 對象模型 (POOM),以及其他許多重要的操作系統功能。在 .NET Compact Framework 版本 2.0 推出之前,開發人員不得不使用 C++ 創建填充程序。現在,開發人員可以直接從托管代碼使用大多數 COM 接口,因此無需編寫或分發特定于處理器的非托管模塊。
.NET Compact Framework 2.0 中的 COM 支持與其桌面計算機中對應的功能相比仍存在一些局限性。例如,不支持外部激活。您不能在托管代碼中編寫獨立的 COM 組件;如果可以,那么 COM 組件就可能已經在一個規則的非托管 Win32 進程中實例化了。因為托管代碼需要公共語言運行庫 (CLR) 才能執行,所以這種安裝需要 Win32 進程來宿主 CLR。因為 CLR 宿主不是 .NET Compact Framework 2.0 的功能,所以整個外部激活模型都不可用。
.NET Compact Framework 2.0 中缺少的另一個重要功能是控件宿主。由于時間和資源所限,框架的最終版本中未包含該功能。但是,宿主一個控件所需要的全部功能都包含在框架中。托管到 COM 的調用(運行時可調用的包裝 [RCW]);COM 到托管(COM 可調用的包裝 [CCW]);連接點;回調;以及對控件句柄的訪問(最終!)- 這些功能都包括在內。本文將為您介紹宿主一個控件需要采取的步驟。
本文的內容要求您熟悉 Win32 和 COM。雖然不閱讀本文也可以使用所描述的控件宿主框架,但還是建議您閱讀本文,因為這會幫助您了解底層的復雜性。
控件和容器
ActiveX 容器是控件宿主的主要概念之一。ActiveX 容器是一個實體,用于為 ActiveX 控件提供運行環境。有關 ActiveX 控件和容器的基本信息越來越難找了。MSDN 網站上或軟件開發工具包 (SDK) 中似乎都沒有這樣的示例:說明如何不使用工具(如活動模板庫 (ATL) 或 Microsoft 基礎類 (MFC) 庫)即可編寫容器或控件。不得不承認,ATL 為此提供了巨大的幫助 - 但不是在您需要從頭實現一個基本容器時。本文結尾處的文章列表幾乎涵蓋了 MSDN 網站提供的有關該主題的所有文章。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn