亚洲精品一区二区三区的-国产成人精品三级在线影院-精品熟人妻一区二区三区四区不卡-欧美成人精品三级网站下载-国产成人无码免费看视频软件

樓宇自動化系統(tǒng)使用ATL實(shí)現(xiàn)COM接口的編程!

欄目:行業(yè)動態(tài) 作者:三水智能化 發(fā)布時間:2020-04-27 關(guān)鍵詞: 樓宇自動化系統(tǒng)
分享到:
?在樓宇自動化系統(tǒng)的系統(tǒng)集成中應(yīng)用OPC(OLE for process control)技術(shù)可以很方便的實(shí)現(xiàn)分布式計算平臺的過程,有利于軟件互連,從而形成一個開放性系統(tǒng)。 Microsoft提出的ATL是一個基于C++平臺的框架,主要用于M icrosoft的組件對象模型(COM)的軟件開發(fā)。典型的OPC客戶機(jī)/服務(wù)器關(guān)系如圖2所示。

樓宇自動化系統(tǒng)的系統(tǒng)集成中應(yīng)用OPC(OLE for process control)技術(shù)可以很方便的實(shí)現(xiàn)分布式計算平臺的過程,有利于軟件互連,從而形成一個開放性系統(tǒng)。 Microsoft提出的ATL是一個基于C++平臺的框架,主要用于M icrosoft的組件對象模型(COM)的軟件開發(fā)。典型的OPC客戶機(jī)/服務(wù)器關(guān)系如圖所示。

樓宇自動化系統(tǒng)使用ATL實(shí)現(xiàn)COM接口的編程!

使用ATL創(chuàng)建COM服務(wù)器,編寫相應(yīng)對象完成如下任務(wù):服務(wù)器接受客戶機(jī)的請求,從服務(wù)器的相應(yīng)數(shù)據(jù)庫提取數(shù)據(jù),傳送給客戶機(jī)。以客戶機(jī)提出請求需要查詢建筑物的溫度狀況為例,說明程序設(shè)計過程:

第1步:新建項目。在Projects選擇中ATL COM AppW izard,然后建立文件名(chengxu)。“Location”編輯框中指定工程的存放位置,然后單擊ok按鈕。

第2步:創(chuàng)建一個進(jìn)程內(nèi)服務(wù)器(Server DLL)。選擇的類型是動態(tài)鏈接庫“Dynamic Link Library——DLL”選項,單擊“Finish”按鈕。向?qū)⒆詣赢a(chǎn)生相應(yīng)的文件。然后出現(xiàn)“New Project Information”窗口告訴你向?qū)⒁獎?chuàng)建一些什么文件。確認(rèn)后單擊OK按鈕。

第3步:創(chuàng)建新的ATL對象。確定在VC的IDE環(huán)境中見到“Workspace View”。選中后單擊右鍵并從彈出菜單中選擇“New A TL Ob ject”。選擇(Simp le Object),在“Short Name”文本編輯框中輸入“First_ATL”。單擊“A ttributes”標(biāo)簽。其中有幾組單選按鈕選項和幾個復(fù)選框。第一組單選按鈕是線程模型“Threading M odel”,取缺省值“Apartm ent M odel”。第二組單選按鈕是接口“Interface”,單擊“Dual”,也就是雙接口。最后,第三組單選按鈕是聚合“Aggregation”,因?yàn)椴幌肷婕敖涌诘木酆希栽诖诉x擇“No”。

第4步:將添加方法。選中“IFirst_ATL”后單擊右鍵并選擇“Add M ethod”。看到“Add M ethod to Interface”對話框。在下一個方法名編輯框“Method Name”中輸入方法名,后一個“Parameters”編輯框輸入使用的參數(shù)。方法名;shuju1參數(shù)則輸入[in] int Num1,long*Returnval采用一個輸入?yún)?shù)判斷用戶需要的查詢服務(wù),其中Num1將對應(yīng)服務(wù)器相應(yīng)數(shù)據(jù),Returnval為一個指針,進(jìn)行查詢后的數(shù)據(jù)傳遞工作。添加相應(yīng)的實(shí)現(xiàn)代碼。

第5步:數(shù)據(jù)庫銜接。在C lassview中加入MFC類,類名shu ju lian jie。在 Bass class:中選擇 CdaoRecordset并且銜接數(shù)據(jù)庫。見圖1。

第6步:加入處理數(shù)據(jù)對象方法。添加相應(yīng)的實(shí)現(xiàn)代碼。

第7步:進(jìn)行服務(wù)器測試。

用VC++測試這個COM服務(wù)器。

創(chuàng)建一個新的W in32控制臺應(yīng)用程序。選擇“Win32 Console App lication”并取名為“Test_ ATL”。單擊OK按鈕并接受對話框中的缺省設(shè)置。單擊“Finish”按鈕,然后再按OK按鈕。這樣就創(chuàng)建好了一個新的工程。

向工程中添加一個文件。從彈出的窗口中選擇“C++Source File”并為它取名為“Test_ATL.cpp”。按下OK按鈕。這樣工程中就有了一個.cpp文件。

在這個文件中添加測試COM服務(wù)器的代碼:

樓宇自動化系統(tǒng)使用ATL實(shí)現(xiàn)COM接口的編程!

服務(wù)器端運(yùn)行后進(jìn)行測試。測試程序?qū)um1=1。服務(wù)器得到請求,返回數(shù)據(jù),并得到輸出“temperature is 23C”。


主站蜘蛛池模板: 亚洲人和日本人jzz视频| 伊人无码精品久久一区二区| 国产亚洲精品a在线观看下载| 强开小嫩苞A片黑人 | 香蕉成人伊视频在线观看| 少妇挑战三个黑人惨叫4p国语| 亚洲国产av高清无码| 久久超碰极品视觉盛宴| 可以直接免费观看的av网站 | 亚洲国产精品一区二区三区在线操| 999久久久精品一区二区涩爱| 免费精品国产一区二区三区| 无码日韩人妻精品久久蜜桃| 欧美国产成人精品二区芒果视频| 51国产黑色丝袜高跟鞋| 国产欧美一区二区三区免费视频| 亚洲 综合 欧美 动漫 丝袜| 中文韩国午夜理伦三级好看| 国产一级淫片一区二区三区| 一区二区三区另类| 国产午夜不卡av免费| 亚洲中文字幕av不卡无码| 又色又污又爽又黄的网站| 无码专区人妻系列日韩精品| 无码人妻一区二区三区免费视频| 亚洲人成伊人成综合网中文| 午夜性福福利视频一区二区| 国产精品一区二区高清在线| 在线看免费无码的av天堂| 亚洲精品成人片在线观看精品字幕| 日本少妇春药特殊按摩3 | 全黄性性激高免费视频| 久天啪天天久久99久久| 国模大胆一区二区三区| 国产香蕉尹人在线视频你懂的 | 无码免费大香伊蕉在人线国产| 国产激情免费视频在线观看| 亚洲国产精品一区二区手机| av成人午夜无码一区二区| 成人一区二区网站| 色屁屁www免费看欧美激情|