Hello Ionut, > The code is executed from OnClientDataAvailable of an TWSocketServer. > When the execution reach the "repeat .. until SentOk", on > ProcessMessages the code is reentered a second time.
This is normal. When you start looping processmessages then your code can be reentered because messages ar pumped. This is also bad design. You can easy change your code event driven, just call Send there with the first record. On OnDataSent you send your next record, etc, as Dod already mentioned. --- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Monday, February 6, 2006, 10:49, Ionut Muntean wrote: > Hi, > Please look at the code below. > . > . > . > try > try > Query.Open; > OnDataSent := DataWasSent; > // DataWasSent sets "SentOk" to True > while not Query.EOF do > begin > Rec := PrepareRec(true); > Rec.AllDist := Rec.AllDist - D; > Rec.Count := RecCount; > SentOk := false; > Send(@Rec, SizeOf(TRec)); > repeat > ProcessMessages; > until SentOk; > Query.Next; > end; > except > on E: Exception do > Display(ExecuteCommand1 - %s', [E.Message]); > end > finally > Query.Close; > OnDataSent := nil > end; > The code is executed from OnClientDataAvailable of an TWSocketServer. > When the execution reach the "repeat .. until SentOk", on > ProcessMessages the code is reentered a second time. > What am I doing wrong? > 10x, > 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