我没用过spcomm控件。但我用TCLientSocket和TServerSocket时遇到过同样问题,我后来发现是发送端和接受端没有同步。解决办法是:发送端要得到接受端接受成功信息后再发送新信息,也就是说接受端接收到信息后应该向发送端发送成功信息。—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————