WinCC V7.0 支持.NET控件的編程入門

發(fā)布時(shí)間:2024-03-21
1. 開發(fā).net控件的示例程序
wincc v7.0支持的自定義.net控件,需要使用visual studio 2005編寫。下面以c#編程語言為例,開發(fā)一個(gè)簡單的.net控件,這個(gè)控件僅提供一個(gè)方法add, 實(shí)現(xiàn)兩數(shù)相加的功能。
在vs2005中新建一個(gè)工程calculatecontrol,工程類型為 visual c# 中的windows control library,在 solution explorer 窗口中,將usercontrol1.cs重命名為 calculate.cs,彈出的對話框詢問是否改變所有與usercontrol1相關(guān)的代碼,點(diǎn)擊[yes]確認(rèn)。在calculate.cs 文件的calculate類中添加add函數(shù),用于計(jì)算兩數(shù)之和,如下所示: public double add(double dbla, double dblb)
{
return ( dbla + dblb );
} 在 calculate.cs 文件的calculate類之前插入如下代碼: // calculatecontrol.calculate 是該控件的progid.
[progid(calculatecontrol.calculate)]
// 缺省的是classinterfacetype.autodispatch,該方式下只生成dispatch接口,
// 只能被使用script、vb等late bingding方式的com客戶使用。
[classinterface(classinterfacetype.autodual)] 然后在 calculate.cs 文件的上部插入如下代碼:
using system.runtime.interopservices; 將工具欄中的 solution configurations 下拉列表設(shè)為 release,在工程\屬性的 application 頁中,點(diǎn)擊 [assembly information…] 按鈕,選中 make assembly com-visible,并點(diǎn)擊 [ok] 按鈕確認(rèn)。在 build 頁中,選中 register for com interop 后,保存設(shè)置,并編譯程序,這樣編譯后同時(shí)會生成calculatecontrol.tlb文件,并且自動(dòng)將其注冊(命令行命令regasm有同樣的效果),注意到calculatecontrol.dll生成到 bin\release 文件夾中。 2.開發(fā).net控件的安裝程序
如果該控件需要在另一臺計(jì)算機(jī)上使用,需要為該控件設(shè)計(jì)安裝程序。新建一個(gè)vs2005工程setupcalculatecontrol,工程類型為setup and deployment \ setup project。在solution explorer窗口中的工程名(setupcalculatecontrol)節(jié)點(diǎn)上右鍵單擊,在彈出的快捷菜單中選擇add\assembly…項(xiàng),在browse頁中,找到剛才編譯的calculatecontrol.dll,將其加入到安裝程序中,注意到calculatecontrol.tlb 也一并被加入進(jìn)來。選中calculatecontrol.dll節(jié)點(diǎn),將其屬性中的register從vsdradonotregister改為vsdracom,用于在安裝過程中自動(dòng)注冊控件。將工具欄中的 solution configurations 下拉列表設(shè)為 release,編譯該安裝工程,在release 文件夾中可以找到生成的安裝文件(包括setup.exe和setupcalculatorcontrol.msi)。 3. 測試.net控件
使用activex control test container測試該控件的功能,雙擊tstcon32.exe(位于$\program files\microsoft visual studio 8\common7\tools),在edit菜單中選擇 [insert new control…] ,在彈出的 insert control 對話框中,點(diǎn)擊 [implemented categories…] 按鈕,選中 .net category 復(fù)選框,點(diǎn)擊 [ok] 按鈕確認(rèn)。在列表框中選擇 calculatecontrol.calculate,如圖1所示:
圖 1:在activex control test container中插入控件 點(diǎn)擊 [ok] 按鈕確認(rèn),這時(shí)該.net控件被加入到測試容器中。選中該控件,在control菜單中選擇[invoke methods…]項(xiàng),在method name中選擇add(method),分別設(shè)定兩個(gè)加數(shù)的值,點(diǎn)擊 [invoke] 按鈕,在 return value 文本框中可以看到兩數(shù)相加的結(jié)果。 4. 在wincc v7.0中加載和使用該控件的步驟 1.雙擊該控件的安裝文件setup.exe,安裝并注冊calculatecontrol.dll控件,用戶可以修改安裝目錄,并按照正常的步驟安裝(如果想卸載該控件,可以在控制面板的添加/刪除程序中移除該控件)。 2.新建一個(gè)wincc v7.0工程,并新建一個(gè)畫面。按照如下步驟加載和使用該控件: 在object palette(對象面板)的controls頁中的.net control上右鍵單擊,選擇 [add/remove…] 快捷菜單項(xiàng)。 在彈出的對話框中點(diǎn)擊[add…]按鈕,在打開的對話框中找到安裝路徑下的calculatecontrol.dll控件(例如:c:\program files\default company name\setupcalculatecontrol\ calculatecontrol.dll),雙擊該控件或者選中它并按[open]按鈕。
圖 2:在select .net object對話框中插入自定義.net控件 如圖2所示,在available controls列表中高亮顯示calculate項(xiàng),選中它前面的check box,點(diǎn)擊最下面的[ok]按鈕,即可將控件加入到wincc v7.0中。 將.net control節(jié)點(diǎn)展開,找到” calculatecontrol.calculate”并將其拖拽到窗體上的合適的位置。 在窗體上加入一個(gè)靜態(tài)文本控件,將其對象名稱改為 calculateresult。 在窗體上加入一個(gè)按鈕,將其文本改為add,在按鈕的鼠標(biāo)左鍵單擊(button\mouse\press left)事件中加入vbs腳本,創(chuàng)建.net控件并調(diào)用它的add方法,源程序如下所示: dim objcalculatecontrol
dim objcalculateresult
set objcalculatecontrol = createobject(calculatecontrol.calculate)
set objcalculateresult = screenitems(calculateresult)
objcalculateresult.text = objcalculatecontrol.add ( 6, 12 )
注意,wincc v6.2使用screenitems(”控件對象名”)引用加入窗體的activex控件。但wincc v7.0不能使用這種方法,建議使用createobject(“.net控件的progid”) 來創(chuàng)建和引用加入的.net控件。 保存并運(yùn)行該程序,點(diǎn)擊[add]按鈕,靜態(tài)文本中將顯示結(jié)果18。 注意:本文提供了 wincc v7.0 支持.net控件的基本編程方法和測試程序,所有的源程序及測試過程僅供參考。
上一個(gè):win10 黑色主題(window10黑色主題切換)
下一個(gè):旺詮薄膜RTX052IR051FGTP,0805 51mΩ ±1% 貼片電阻

公路工程預(yù)算和市政道路工程預(yù)算編制的異同點(diǎn)分析
什么品牌固態(tài)硬盤比較好用,固態(tài)硬盤什么牌子的比較好
K金鍍層檢測儀
酷狗云盤在哪里打開文件(酷狗云盤在哪里打開鏈接)
區(qū)域自動(dòng)氣象站系統(tǒng)-一款數(shù)據(jù)分析的自動(dòng)氣象站
鋼筋工程22條施工做法降本增效!
如何構(gòu)建塑料大棚
模板建站是什么?模板建站有哪些優(yōu)勢
配置一臺電腦需要什么,配制一臺電腦需要哪些器件
偷水犯法嗎?
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos