总是需要在执行了一次sendtext才会激发,为什么?

解决方案 »

  1.   

    我也有同样的问题我在SeverSocket.ServerSocket1ClientRead事件里用
    如下如下多次调用SentText,ClientSocket.ClientSocket1Read事件被激发的次数总少于
    SeverSocket.serverSocket1ClientRead里调用SentText的次数。在SeverSocket.ServerSocket1ClientRead里if ADOQuery5.RecordCount>0 then
         begin        ADOQuery5.First;
            for i:=0 to ADOQuery5.RecordCount-1 do
            begin
               sfzl:=trim(ADOQuery5.FieldbyName('bah').asstring)+'#bah'
              +trim(ADOQuery5.FieldbyName('xm').asstring)+'#xm'
              +trim(ADOQuery5.FieldbyName('zlt').asstring)+'#zlt'
              +trim(ADOQuery5.FieldbyName('ks').asstring)+'#ks'
              +trim(ADOQuery5.FieldbyName('ys').asstring)+'#ys'
              +trim(ADOQuery5.FieldbyName('times').asstring)+'#times';
              ServerSocket1.Socket.connections[m].SendText(sfzl);
              if  ADOQuery5.Eof=false then
                ADOQuery5.Next;
            end;
    end;
      

  2.   

    是用的bmnonblocking吧,既然是非阻塞,就是靠消息驱动,当然存在消息阻塞的情况