Thanks Dod for your quick response. In OnClientDataAvailable there is a 
basic command parser, that receives data from the peer ...

/ Ionut Muntean

Dod wrote:
> Don't know but did you "Receive" data before ProcessMessage ?
> 
> OnDataAvailable will be triggered until you read received data.
> 
> Other thing, you should not do such repeat/until upon Send but better
> use OnDataSent event to manage sending next record(s).
> 
> IM> Hi,
> IM> Please look at the code below.
> IM> .
> IM> .
> IM> .
> IM>       try
> IM>            try
> IM>                 Query.Open;
> IM>                 OnDataSent := DataWasSent;
> IM>                 // DataWasSent sets "SentOk" to True
> IM>                 while not Query.EOF do
> IM>                 begin
> IM>                      Rec    := PrepareRec(true);
> IM>                      Rec.AllDist := Rec.AllDist - D;
> IM>                      Rec.Count := RecCount;
> IM>                      SentOk := false;
> IM>                      Send(@Rec, SizeOf(TRec));
> IM>                      repeat
> IM>                           ProcessMessages;
> IM>                      until SentOk;
> IM>                      Query.Next;
> IM>                 end;
> IM>            except
> IM>                 on E: Exception do
> IM>                      Display(ExecuteCommand1 - %s', [E.Message]);
> IM>            end
> IM>       finally
> IM>            Query.Close;
> IM>            OnDataSent := nil
> IM>       end;
> 
> IM> The code is executed from OnClientDataAvailable of an TWSocketServer. 
> IM> When the execution reach the "repeat .. until SentOk", on 
> IM> ProcessMessages the code is reentered a second time.
> 
> IM> What am I doing wrong?
> 
> IM> 10x,
> IM> Ionut Muntean
> 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to