一个串行通讯的程序,只要接收到串口信息(字符串)就把字符串append到FcomList(TstringList类型,只有Watch这个线程访问这个变量)中,然后调用 PostThreadMessage(Watch.ThreadID,UM_NewTask,0,0)向Watch线程发送新任务的消息,可是Watch线程有时截获不到这个消息,而且只要有一次截获不到以后就一直截获不到。请大家帮忙分析一下,先表示感谢
Watch线程中处理代码如下:
procedure TWatch.Execute;
var
i,j:integer;
m:MSG;
p:pchar;
begin
    FreeOnTerminate:=True;
    while Not Terminated do
    if WaitMessage then
    begin
      if PeekMessage(m,0,0,0,PM_REMOVE) then
      begin
        if m.message=UM_Close then
          break;
        if (m.message=UM_NewTask)  then
        while FcomList.count>0 do   
        begin
          //处理程序
        end;
      end;
    end;
    Terminate;
end;