版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、COM和ActiveX控件設計,第四章,2,回顧,程序設計的模塊化已經(jīng)成為一種普遍的認識,并且?guī)缀跛械拈_發(fā)工具或者程序設計技術都為之提供了直接或者間接的支持; MSF體系結(jié)構(gòu)為應用程序模型提供的三組服務是: 用戶服務 業(yè)務服務和數(shù)據(jù)服務 程序代碼分層實現(xiàn)是為了增強程序的可維護性和可擴充性; 分層結(jié)構(gòu)的一個模型是:除了根據(jù)實體對象進行程序的橫向劃分之外,在縱向上,可以按照界面層、數(shù)據(jù)處理層和數(shù)據(jù)訪問層來規(guī)劃程序的結(jié)構(gòu); 類模塊包含類的定義,包括其屬性和方法定義; 為實現(xiàn)界面層和數(shù)據(jù)訪問層的分離,數(shù)據(jù)處理層采用一個內(nèi)嵌的集合對象來保存從數(shù)據(jù)庫得到的查詢結(jié)果集; 分層編碼使得程序員之間的分工成為可
2、能,并且代碼的結(jié)構(gòu)比較清晰 。,3,目標,COM 簡介 COM的概念、特點和優(yōu)點 理解基于組件技術的開發(fā)和應用模式 ActiveX 控件的實現(xiàn) 理解ActiveX 控件基于COM的實現(xiàn)機制 設計自定義控件的屬性、方法和事件 設計自定義控件的屬性頁 在工程組中調(diào)試自定義控件 使用自定義控件 組件注冊 組件引用,4,COM簡介 2 - 1,早期應用程序 程序的結(jié)構(gòu)難以維護,修改麻煩; 很難管理巨大的可執(zhí)行文件; 在代碼中進行任何修改都需要重新生成整個應用程序; 組件對象模型 (Component Object Model :COM) 是由 Microsoft引入的組件技術;,5,COM 簡介 2
3、- 2,COM 的優(yōu)點 允許開發(fā)人員將他們的組件作為二進制文件進行傳送; 組件可以使用任何支持 COM 的語言進行編寫; 需要修改組件時,可以單獨編譯和替換組件,而不會影響客戶應用程序。,6,基于組件的開發(fā),COM 組件在三層體系結(jié)構(gòu)中實現(xiàn)業(yè)務規(guī)則,且被稱為服務器; 調(diào)用這些 COM 組件的應用程序稱為客戶應用程序; COM 基于類、對象和客戶端; 服務器組件包含定義類的特性(屬性)和行為(方法)的代碼,客戶端通過創(chuàng)建對象調(diào)用 COM 組件服務。,7,進程內(nèi)組件和進程外組件,當對象與客戶端在同一個進程內(nèi)運行時,稱為進程內(nèi)組件(客戶端創(chuàng)建 DLL組件對象時); 當對象在不同于客戶端進程的獨立進程
4、內(nèi)運行時,稱為進程外組件(客戶端創(chuàng)建EXE組件對象時); 客戶端和組件兩者的 COM 編程是相同的,無論是編寫進程內(nèi)組件還是進程外組件;,8,COM 服務器的類型,簡單服務器:在這種服務器上客戶應用程序只可以調(diào)用該服務器,但無法訪問其自定義變量和方法; 自動服務器:這些服務器允許調(diào)用對象的某些方法和屬性; ActiveX:可由客戶端以編程方式調(diào)用的組件;,9,ActiveX,ActiveX是一種封裝技術,提供封裝 COM組件并將其置入應用程序(如Web 瀏覽器、窗體)的一種方法。 ActiveX組件是一個文件,該文件包含執(zhí)行某項或一組任務的代碼,組件可以執(zhí)行公用任務。 ActiveX組件是簡單
5、服務的高級擴展,10,VB 中的組件 - ActiveX,Visual Basic 提供的下列模板可用來創(chuàng)建 COM 對象: ActiveX EXE ActiveX DLL ActiveX 控件 ActiveX 文檔 EXE ActiveX 文檔 DLL,11,VB 中的 ActiveX 控件,在 VB 中創(chuàng)建控件的三種模型是: 從頭開始創(chuàng)建自己的控件 增強一個現(xiàn)有控件 用幾個現(xiàn)有控件組裝一個新控件 在 Visual Basic 中開發(fā)的控件實際上是一個控件類; 當編譯 ActiveX 控件對象時,會使用 .ocx 擴展名編譯該控件類。,12,創(chuàng)建 ActiveX 控件界面設計,13,創(chuàng)建 A
6、ctiveX 控件屬性向?qū)?14,Event AfterLogin(ByVal bolSuccess As Boolean) MappingInfo=txtUserName,txtUserName,-1,Text Public Property Get UserName() As String UserName = txtUserName.Text End Property Public Property Let UserName(ByVal New_UserName As String) txtUserName.Text() = New_UserName PropertyChanged Us
7、erName End Property 。,創(chuàng)建 ActiveX 控件代碼實現(xiàn),15,屬性頁作用,設置屬性頁主要是為了方便使用該控件的開發(fā)人員,在設計時,能以一種可視化的方法進行控件的屬性設置。,16,屬性頁向?qū)?指定顯示的頁面的名稱 映射屬性,17,屬性頁樣式,18,屬性頁控件使用時,19,Private Sub txtDBName_Change() Changed = True End Sub Private Sub PropertyPage_ApplyChanges() SelectedControls(0).DBName = txtDBName.Text End Sub Private
8、 Sub PropertyPage_SelectionChanged() txtDBName.Text = SelectedControls(0).DBName End Sub,屬性頁屬性頁代碼,20,ActiveX控件調(diào)試工程調(diào)試屬性,21,ActiveX控件調(diào)試工程組調(diào)試,22,ActiveX控件調(diào)試工程組調(diào)試,23,使用自定義ActiveX控件,24,ActiveX控件相關術語,GUID(全局唯一標識符): COM 類 COM 接口 類型庫 組件類 接口 由對象提供的屬性、方法和事件的描述 對象方法和事件的參數(shù)的類型和數(shù)量,25,ActiveX控件相關編譯和注冊,Regsvr32 /u 組件文件名,26,ActiveX控件相關編譯和注冊,27,ActiveX控件相關缺省屬性,28,總結(jié),COM 是定義不同對象彼此之間如何交互的標準,也是編寫可在基于組件的系統(tǒng)中運行的可重用代碼的規(guī)范; 開發(fā)大型應用程序時,使用 COM 或其他基于組件的技術已經(jīng)成為一種必然的需要; COM 組件在三層體系結(jié)構(gòu)中實現(xiàn)業(yè)務規(guī)則,客戶應用程序調(diào)用這些 COM 組件來完成它們的任務; 在使用構(gòu)成控件構(gòu)造自定義ActiveX組件時候,構(gòu)成控件都是被屏蔽的,外界不能訪問這些控件的屬性、方法或者觸發(fā)其事件,必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026大唐(內(nèi)蒙古)能源開發(fā)有限公司畢業(yè)生招聘備考題庫及一套完整答案詳解
- 跨境電商獨立站客服服務協(xié)議2025
- 初一上生物考試題及答案
- 《飛行汽車用電機控制系統(tǒng)技術規(guī)范》(征求意見稿)
- 腸易激綜合征腸黏膜免疫調(diào)節(jié)策略
- 肝臟脂肪變性與纖維化的關聯(lián)研究
- 肝膽胰手術ERAS的營養(yǎng)支持新策略
- 衛(wèi)生院外購藥品管理制度
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院基建工程制度
- 衛(wèi)生院廉政教育制度
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責任公司社會成熟人才招聘備考題庫完整參考答案詳解
- 2026年黃委會事業(yè)單位考試真題
- 供水管網(wǎng)及配套設施改造工程可行性研究報告
- 2026年及未來5年中國高帶寬存儲器(HBM)行業(yè)市場調(diào)查研究及投資前景展望報告
- 英語試卷浙江杭州市學軍中學2026年1月首考適應性考試(12.29-12.30)
- 關于生產(chǎn)部管理制度
- CMA質(zhì)量手冊(2025版)-符合27025、評審準則
- 人工智能在系統(tǒng)集成中的應用
- 大九九乘法口訣表(可下載打印)
- 金屬非金屬礦山安全操作規(guī)程
- 壓鑄鋁合金熔煉改善
評論
0/150
提交評論