1. 程式人生 > >delphi 線程的應用 和spcomm的應用

delphi 線程的應用 和spcomm的應用

data com 流程 單獨 創建 全局 message 傳遞 and

http://bbs.csdn.net/topics/390744417

串口控件本身的線程不是這樣理解的,你不用管它本身用不用線程,它的內部線程和你也沒關系。前面說過了,你可以在自己的主線程裏創建好Spcomm,並配置好各個參數,然後你的線程就可以用這個在主線程裏創建的SPCOMM了。為了簡單,一個線程單獨用一個SPCOMM,這樣就不用考慮各個線程間的沖突了。要發送的消息可以預先設置好一個列表傳入通信子線程,通信子線程收到數據後給主線程發消息,可以這樣發消息:

var
aDataRec:TMyRec;

.................
PostMessage(MainFormHandle,WM_MESSAGE001,Integer(@aDataRec),0);

................
//這個aDataRec可以是臨時變量,這樣就可以傳遞大數據了,也不要用全局變量了

如果上位機和下位要交互的信息是有限和預知的,可以在通信線程裏設置好。如果是要人參與交互,那就得臨時掛起通信線程了,控件通信流程。

delphi 線程的應用 和spcomm的應用