首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

MSComm如何總是返回上一條指令的結果

2012-02-13 
MSComm怎么總是返回上一條指令的結果?代碼如下:C/C++ code//---------------------------------------void

MSComm怎么總是返回上一條指令的結果?
代碼如下:

C/C++ code
//---------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){    MSComm1->OutBufferCount = 0;    MSComm1->Output = Edit1->Text + "\r";    MSComm1->RThreshold = 1;    Memo1->Lines->Add("\n" + Edit1->Text);    Memo1->Lines->Add(temp);}//---------------------------------------void __fastcall TForm1::MSComm1Comm(TObject *Sender){    OleVariant rec;    rec = MSComm1->Input;    temp = temp + rec.AsType(varString);    MSComm1->InBufferCount = 0;}//---------------------------------------


運行后發送指令,它總是返回上一條指令的執行結果而不是當前指令的返回值,我以為是設備需要時間
但是我用Sleep(1000)后,結果也是這樣。有高手知道是怎么回事嗎?

[解决办法]
....
 if (tmp[strlen(tmp.c_str()) - 1 ] == '\r') {
//do somethings
tmp = "";
}

热点排行