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

Reply via email to