I know have a second very strange problem: I have two .bpr projects for the 
same code except that one is for debugging with a dummy form and the other 
one is a service. The object creation/destruction orders are the same. 
However, when I run the ISAPI code (even once) as below, the service gives 
an AV and the "Please tell M$ about this" screen appears. This does not 
happen in the form project!

Your constructive response will be appreciated!

Best Regards,

SubZ

----- Original Message ----- 
From: "Francois Piette" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Tuesday, October 11, 2005 10:38 AM
Subject: Re: [twsocket] Fw: Sync THttpConnection derivative


> Debugger, just like the MessageBox showed correct values!

Do you still have message box in the code ? This may cause the problem 
because it call the message
pump and wsocket_send may be called from elsewhere. Never use MessageBox to 
show values, use
Windows.OutputDebugString or use Writeln (don't forget to make your app a 
console mode app).

Maybe I found the problem. WSocket_send is defined as:
function WSocket_send(s: TSocket; var Buf; len, flags: Integer): Integer;

This means you have t call it like this:
       Count := WSocket_send(HSocket,  Data^, DataLen, 0);

See the "^" that I added. Since the Buf argument is declare as untype var, 
the compiler
automatically take the address. So when you pas "Data", then it is the 
pointer address that is
passed. When you pass "Data^", the actual pointer value is passed.

--
[EMAIL PROTECTED]
http://www.overbyte.be


----- Original Message ----- 
From: "Fastream Technologies" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Tuesday, October 11, 2005 9:13 AM
Subject: Re: [twsocket] Fw: Sync THttpConnection derivative


> Debugger, just like the MessageBox showed correct values!
>
> However the socket printed something with a first line like:
>
>  ÿº
>
> (This was suppose to be a long line but OE only printed this much!)
>
> Regards,
>
> SubZ
>
> ----- Original Message ----- 
> From: "Francois PIETTE" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Monday, October 10, 2005 7:33 PM
> Subject: Re: [twsocket] Fw: Sync THttpConnection derivative
>
>
> >> I still get garbage data with NO HTTP header.
> >> Any idea why?
> >
> > No idea why. But did you use the debugger to verify that Data and 
> > DataLen
> > have correct values ?
> >
> > To debug further, you can add an Windows.OutputDebugString in
> > WSocket_Synchronized_send function to display what is really sent by the
> > component, no matter if called "normally" by the component or by a 
> > direct
> > call to WSocket_Send. To see messages printed out by OutputDebugString,
> > you
> > simply hit CTRL+ALT+V within Delphi (Probably the same with BCB).
> >
> > --
> > Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
> > --
> > [EMAIL PROTECTED]
> > http://www.overbyte.be
> >
> >
> >
> >
> > ----- Original Message ----- 
> > From: "Fastream Technologies" <[EMAIL PROTECTED]>
> > To: "ICS support mailing" <twsocket@elists.org>
> > Sent: Monday, October 10, 2005 4:45 PM
> > Subject: Re: [twsocket] Fw: Sync THttpConnection derivative
> >
> >
> >> Hello and thanks for your replies,
> >>
> >> I now have the following code that do not raise any exception:
> >>
> >> In the connection class derived from TWebConnection:
> >>
> >>                Pause();
> >>
> >>                int iMode = 0;
> >>                WSocket_ioctlsocket(HSocket, FIONBIO, iMode);
> >>
> >>                if(!serverThread->DXISAPI->Execute(this,
> >>                                        ISAPIInterpreter,
> >>                                        Method,
> >>                                        Params,
> >>                                        Path,
> >>                                        LastFilePath,
> >>                                        RequestContentType, POSTString,
> >> postedDataLen, scriptResult))
> >>                                        result = dpError;
> >>                else
> >>                {
> >>                        iMode = 1;
> >>                        if(WSocket_ioctlsocket(HSocket, FIONBIO, iMode))
> >>                        {
> >>                                Resume();
> >>                                Close();
> >>                        }
> >>                        else
> >>                                Resume();
> >>                }
> >>
> >> and in the TWebConnection that is derived from THttpConnection and can 
> >> be
> >> called from pascal DXISAPI code by callback functions:
> >>
> >>        OldDataAvailable := FOnDataAvailable;
> >>        OldSendData := FOnSendData;
> >>        OldDataSent := FOnDataSent;
> >>        FOnDataAvailable := nil;
> >>        FOnSendData := nil;
> >>        FOnDataSent := nil;
> >>
> >>        if FTerminated or
> >>        ((State <> wsConnected) and (State <> wsSocksConnected)) then
> >>        begin
> >>                Result := false;
> >>                Exit;
> >>        end;
> >>
> >>        Count := WSocket_send(HSocket,
> >>                    Data,
> >>                    DataLen,
> >>                    0);
> >>
> >>        Result := Count > 0;
> >>        if Result = true then
> >>                DataSent := DataSent + Count;
> >>
> >>        if FTerminated or
> >>        ((State <> wsConnected) and (State <> wsSocksConnected)) then
> >>        begin
> >>                Result := false;
> >>        end;
> >>
> >>        if Result = true then
> >>        begin
> >>                FOnDataAvailable := OldDataAvailable;
> >>                FOnSendData := OldSendData;
> >>                FOnDataSent := OldDataSent;
> >>        end;
> >>
> >> I still get garbage data with NO HTTP header.
> >>
> >> Any idea why?
> >>
> >> Best Regards,
> >>
> >> SubZ
> >
> > -- 
> > 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 

-- 
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