串列埠控制項開發總結
更新時間
2005-5
-27
一、開發進展
開發專案:
1、serial.ocx
:串列埠通訊控制項
2、serialtest
:呼叫serial.ocx
的測試程式,採用
vc開發,在串列埠
modem
上測試通過了。
3、vbtest
:呼叫serial.ocx
的測試程式,採用
vb開發,在串列埠
modem
上測試通過了。
4、delphitest
:呼叫serial.ocx
的測試程式,採用
delphi
開發,在串列埠
modem
上測試通過了。
已實現功能:
1、serial
控制項定義了一些常用的方法如下:
(1)void openport()
開啟串列埠
(2)void writeport(lpctstr string);
寫串列埠(3)
void closeport();
關閉串列埠
(4)void readport();
讀串列埠2、
serial
控制項定義了一些常用的屬性如下:
(1)string
:寫串列埠操作後,串列埠返回的資料都儲存在
string
屬性裡(2)
port
:設定使用哪個串列埠
(3)baudrate
:設定波特率
(4)其它串列埠的配置引數
3、測試程式實現的功能
測試程式的目的是檢驗和測試控制項的,實現了一些基本的功能(開啟串列埠、關閉串列埠、讀、寫串列埠、串列埠的選擇、波特率的選擇)。
同時,在多個開發平台上做的測試程式,驗證了
activex
控制項的跨平台性和通用性。
後期需要改進的內容:
1、新的方法和屬性的定製
根據客戶的需求,提供新的屬性和方法。
2、字串以外的資料的讀寫
目前實現的是通過串列埠以字串的方式傳輸資料。
位元流的方式或其它方式傳輸還不能實現。
3、其它串列埠裝置的呼叫驗證
已測試的是串列埠
modem
,其它裝置未驗證。
二、開發心得
開發目標:實現
rdp方式下串列埠的呼叫的控制項,這個控制項必須跨開發平台能使用的。
開發思路:
1、先在程式上實現
rdp方式下串列埠的呼叫
2、將其封裝為
activex
控制項,目的是
activx
控制項可以跨開發平台使用,而且類似微軟的
mscomm
控制項,便於**移植。3、在
vc、vb、
delphi
等多個平台做控制項呼叫的測試程式,驗證其通用性。
技術總結:
1、實現了
rdp方式下對串列埠的正常呼叫的難點
採用執行緒阻塞的方式,對串列埠讀、寫、關閉設定不同的事件訊號,當某一訊號發出時,進入相應的臨界區域,實現了互不干擾。
2、win32 api
微軟的mscomm
控制項在rdp
方式下對串列埠的讀、寫的併發操作存在問題,因此拋棄
mscomm
,使用windows api
方式程式設計,同時提高了程式的執行速度(相對於
mscomm
)。3、
activex
控制項的封裝
將主要的功能封裝為方法和屬性作為呼叫控制項的介面。
4、多平台下
activex
控制項的呼叫
5、多種開發語言的入門級學習
6、windows
系統中控制項的註冊和
mfc執行庫的使用
WinForm控制項開發總結
winform控制項開發總結 一 開篇 winform控制項開發總結 二 使用和除錯自定義控制項 winform控制項開發總結 三 認識winform控制項常用的attribute winform控制項開發總結 四 控制項屬性的序列化 winform控制項開發總結 五 為控制項的複雜屬性提供型別轉換...
WinForm控制項開發總結
winform控制項開發總結 一 開篇 winform控制項開發總結 二 使用和除錯自定義控制項 winform控制項開發總結 三 認識winform控制項常用的attribute winform控制項開發總結 四 控制項屬性的序列化 winform控制項開發總結 五 為控制項的複雜屬性提供型別轉換...
CSerialIO 串列埠控制項
一 介紹 cserialio實現乙個對串列埠讀寫的類,有乙個執行緒負責處理對串列埠資料的讀寫,只需要簡單呼叫cserialio提供的api就可以偵聽串列埠的資料。二 背景 目前網上有同步和非同步的串列埠讀寫控制項,需要使用者去定時的或者啟動乙個執行緒去讀取資料,所以我實現的這個串列埠讀寫類時已經封裝...