串列埠控制項開發總結

2021-04-01 15:31:38 字數 2052 閱讀 1285

串列埠控制項開發總結

更新時間

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就可以偵聽串列埠的資料。二 背景 目前網上有同步和非同步的串列埠讀寫控制項,需要使用者去定時的或者啟動乙個執行緒去讀取資料,所以我實現的這個串列埠讀寫類時已經封裝...