在线程里创建了一个SPComm初始化完串口,我就把线程挂起了,当我唤醒的时候执行写缓冲区,读缓冲区,也就是我发了个AT后
onreceivedate事件为什么没有被触发?
constructor TIdle.Create(memo: TMemo; var str: string);
begin
   Fstr:=str;
   FMemo:=memo;
   FreeOnTerminate:=False;
   inherited   Create(false);
end;destructor TIdle.Destroy;
begin  inherited;
end;procedure TIdle.Execute;
var s:string;
Msg:TMsg;
begin
  while   not   Terminated   do
  begin
      if fcreate=   1 then
      begin
      FSPComm:=TComm.Create(nil);
      FSPComm.CommName:='COM5';
      FSPComm.BaudRate:=9600;
      FSPComm.StopBits:=TStopBits(1);
      FSPComm.StartComm;
      suspend;
      end else if fcreate=2 then
      begin
      s:=Fstr+#13#10;
      FSPComm.WriteCommData(Pchar(s),length(s));
      FSPComm.OnReceiveData:=onreceive;
     while  GetMessage(Msg,0,0,0) do
      begin
        TranslateMessage(Msg);
        DispatchMessage(Msg);
      end;
      i:=i+1;
      Form1.Label1.Caption:=IntToStr(i);
      Form1.Label1.Refresh;
      Suspend;
      end;
  end;  { Place thread code here }
end;procedure TIdle.onreceive(Sender: TObject; Buf: Pointer; BufLength: Word);
var
byte_rec2:string;
begin
sleep(100);
setlength(byte_rec2,buflength);
move(buf^,Pchar(@byte_rec2[1])^,buflength);
Fmemo.Text:=trim(byte_rec2);
//FSPComm.StopComm;
end;end.