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 = "";
}