Alright, found the bug myself and fixed now. It is the result := sendError <> 0; line. It should have been the opposite way...
THANKS! SZ On 11/22/06, Fastream Technologies <[EMAIL PROTECTED]> wrote: > As I wrote before, the downloaded picture (from the php5ISAPI.dll) is > corrupt! Most of the picture is grey. > > On 11/22/06, Francois Piette <[EMAIL PROTECTED]> wrote: > > What does "Does not work" means ? Any error, exception, symptom ? > > > > -- > > [EMAIL PROTECTED] > > http://www.overbyte.be > > > > ----- Original Message ----- > > From: "Fastream Technologies" <[EMAIL PROTECTED]> > > To: "ICS support mailing" <twsocket@elists.org> > > Sent: Wednesday, November 22, 2006 9:24 AM > > Subject: Re: [twsocket] TWSocket sync send problem within ISAPI > > > > > > > Hello, > > > > > > Could you look at the new code below: > > > > > > procedure TWebConnection.ConnectionDataSentISAPI(Sender : TObject; > > > Error : WORD); > > > begin > > > sendError := Error; > > > sendComplete := true; > > > end; > > > > > > function TWebConnection.SendSync(Data: String): boolean; > > > begin > > > Result := SendSync(PChar(Data), Length(Data)); > > > end; > > > > > > function TWebConnection.SendSync(Data: PChar; DataLen: Integer): boolean; > > > var > > > Count: integer; > > > error: integer; > > > offset: integer; > > > Msg: TMsg; > > > begin > > > packetLen := DataLen; > > > packetSentLen := 0; > > > offset := 0; > > > sendComplete := false; > > > > > > if FTerminated or > > > (State <> wsConnected) then > > > begin > > > Result := false; > > > Exit; > > > end; > > > > > > while (offset < DataLen) do > > > begin > > > sendError := 0; > > > sendComplete := false; > > > Count := Send(Data + offset, DataLen - offset); > > > > > > Result := Count > 0; > > > > > > if not Result then > > > begin > > > error := WSAGetLastError(); > > > Result := false; > > > Exit; > > > end; > > > > > > while((not FTerminated) and (not sendComplete) and > > > (State = wsConnected)) do > > > begin > > > if GetMessage(Msg, 0, 0, 0) = true then > > > begin > > > DispatchMessage(Msg); > > > end; > > > end; > > > > > > DataSent := DataSent + Count; > > > offset := offset + Count; > > > end; > > > > > > Result := sendError <> 0; > > > > > > if(FTerminated or > > > (State <> wsConnected) > > > ) then > > > begin > > > Result := false; > > > end; > > > end; > > > > > > It works with debug compile when even NO breakpoints are set but does > > > not work with release build of the server. FYI, here is the hierarchy > > > of the classes: > > > > > > THttpConnection-->TWebConnection->httpServerClientClass > > > > > > Best Regards, > > > > > > SZ > > > > > > On 11/21/06, Francois PIETTE <[EMAIL PROTECTED]> wrote: > > > > >I do not think the issue understood the same here and there. Why is > > > > > the Count = -1 then? > > > > > > > > When you call Send, passing a number of bytes and send is not able to > > send > > > > it without blocking and non-blocking mode is active, then send > > returns -1 to > > > > tell you it can't do what you asked. Nothing is sent. WSAGetLastError > > tells > > > > you what exactly happended. > > > > > > > > > What should one do to have the sync method work? > > > > > > > > ICS doesn't use blocking mode. Trying to change that without knowing > > exactly > > > > what you are doing will result in unexpected results - as you can see. > > > > > > > > You'd better design your code to use non blocking mode. > > > > If ISAPI is what you want, have a look at IcsIsap1.pas in the demos. > > > > > > > > -- > > > > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html > > > > -- > > > > [EMAIL PROTECTED] > > > > http://www.overbyte.be > > > > > > > > > > > > -- > > > > 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 > > > > > > > -- > > > 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 > > > > -- > > 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 > > > > > -- > CSA, Fastream Technologies > Software IQ: Innovation & Quality > www.fastream.com | Email: [EMAIL PROTECTED] | Tel: +90-312-223-2830 > -- 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