線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1984
推到 Plurk!
推到 Facebook!

在執行緒中使用TComm接收資料的問題

尚未結案
juney
一般會員


發表:2
回覆:0
積分:0
註冊:2005-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-13 14:34:35 IP:210.66.xxx.xxx 未訂閱
各位前輩你們好,小弟利用了"C++ Builder與RS232串列通訊控制"一書中的TComm元件來做RS232的溝通介面,也建立了一個Thread來做資料接收,在Thread中的程式碼如下:
void __fastcall TRead232::Execute()
{
   while(!Terminated)
   Synchronize(ReadData);
}    void __fastcall TRead232::ReadData()
{
Delay(100);
Buf1=Form1->Comm1->Input;
Form1->Memo1->Lines->Add(Buf1);
Buf1="";
}
其中為單純的接收,但是在Memo上卻是不斷的顯示資料,在書上有提到在元件的建立中有寫清除Buffer的程式碼,但是似乎無法利用Thread讀取資料後自動清除Buffer,請問各位前輩是否要修改元件或是有其他用法,謝謝各位前輩撥空解答! 發表人 - Juney 於 2005/10/13 14:40:10
fnk
高階會員


發表:40
回覆:149
積分:102
註冊:2004-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-14 12:58:58 IP:220.135.xxx.xxx 未訂閱
你Clear的是Buff...而不是Memo上的東西.. 若你要清掉Memo上的東西... 可以用 
Memo1->Clear(); 
=========== 有興趣,就能進步 ===========
系統時間:2024-03-29 20:19:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!