Hello,

Arno had already suggested that and I had already done that before your 
message. My Thttpcli has no new messages defined so I thought I do not need 
to override the methods.

Do you have IIS there? Could you try the Httpcli with a long Folder listing? 
When long listings are used, it uses Chunked encoding.

Best Regards,

SZ

----- Original Message ----- 
From: "Francois PIETTE" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Monday, June 05, 2006 5:09 PM
Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem


> Messages IDs are recreated when calling ThreadAttach.
> But if you created your derived component, maybe you did not it correctly.
> All messages ID are now variables, are allocated by AllocateMsgHandlers 
> and
> freed by FreeMsgHandlers. You _must_ override AllocateMsgHandlers,
> FreeMsgHandlers and MsgHandlersCount in your derived component. See how it
> is done in OverbyteIcsHttpProt and in other components.
>
> 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, June 05, 2006 2:34 PM
> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>
>
>> Hello,
>>
>> I have a strange problem with THttpCli GET in chunked transfer encoding. 
>> I
>> am testing against a long IIS folder listing and it repeats the first
>> packet
>> always and cuts the rest!!!
>>
>> If this is not a pure Httpprot problem, then could the problem be the
>> thread
>> attach/detach again? The client is created in main thread context and the
>> message IDs are maybe not appropriate for the new thread??
>>
>> Regards,
>>
>> SZ
>>
>> ----- Original Message ----- 
>> From: "Francois PIETTE" <[EMAIL PROTECTED]>
>> To: "ICS support mailing" <twsocket@elists.org>
>> Sent: Monday, June 05, 2006 2:35 PM
>> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>>
>>
>> : Still one problem. Arno fixed it (He sent a private message to me).
>> : Move the line
>> :    FWndHandler := nil;                 // THIS ONE ADDED
>> : from ThreadDetach to DeallocateHWnd so that the later looks like:
>> : procedure TIcsWndControl.DeallocateHWnd;
>> : begin
>> :    if FHandle = 0 then
>> :        Exit;              // Already done
>> :
>> :    GWndHandlerPool.Lock;
>> :    try
>> :        FreeMsgHandlers;
>> :        if Assigned(FWndHandler) and (FWndHandler.FMsgCnt <= 0) then
>> :            GWndHandlerPool.FreeWndHandler(FWndHandler);
>> :        FHandle     := 0;
>> :        FWndHandler := nil;         // THIS ONE ADDED
>> :    finally
>> :        GWndHandlerPool.UnLock;
>> :    end;
>> : end;
>> :
>> : Thank to Arno.
>> :
>> : --
>> : Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
>> : --
>> : [EMAIL PROTECTED]
>> : http://www.overbyte.be
>> :
>> :
>> :
>> : ----- Original Message ----- 
>> : From: "Francois PIETTE" <[EMAIL PROTECTED]>
>> : To: "ICS support mailing" <twsocket@elists.org>
>> : Sent: Monday, June 05, 2006 1:11 PM
>> : Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> :
>> :
>> : > Problem fixed !
>> : >
>> : > In OverbyteIcsHttpProt.pas, add:
>> : >
>> : > {$IFDEF COMPILER2_UP}
>> : > procedure THttpCli.ThreadAttach;
>> : > begin
>> : >    inherited ThreadAttach;
>> : >    FCtrlSocket.ThreadAttach;
>> : > end;
>> : >
>> : > procedure THttpCli.ThreadDetach;
>> : > begin
>> : >    inherited ThreadDetach;
>> : >    FCtrlSocket.ThreadDetach;
>> : > end;
>> : > {$ENDIF}
>> : >
>> : > Don't forget to add the declarations in the public section.
>> : >
>> : > In OverbyteIcsWndControl, add a line in ThreadDetach so that it looks
>> : > like:
>> : > procedure TIcsWndControl.ThreadDetach;
>> : > begin
>> : >    if GetCurrentThreadID <> FThreadID then
>> : >        raise EIcsException.Create('Cannot detach from another
>> thread');
>> : >    Self.DeallocateHWnd;
>> : >    FWndHandler := nil;                 // THIS ONE ADDED
>> : > end;
>> : >
>> : >
>> : > In OverbyteIcsWSocket.pas, delete the declaration of
>> : > TCustomWSocket.FThreadID.
>> : >
>> : > That's it.
>> : > Should work. At least it work in my small test prog:
>> : > Create a form, drop a TButton, a TMemo and a THttpCli. Add the
>> following
>> : > code:
>> : >
>> : > unit OverbyteIcsSimpleThread1;
>> : >
>> : > interface
>> : >
>> : > uses
>> : >  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
>> : > Forms,
>> : >  Dialogs, StdCtrls, OverbyteIcsWndControl, OverbyteIcsWSocket,
>> : >  OverbyteIcsHttpProt;
>> : >
>> : > type
>> : >  TWorkerThread = class(TThread)
>> : >  public
>> : >      FHttpCli : THttpCli;
>> : >      procedure HttpCliRequestDone(Sender : TObject; RqType:
>> THttpRequest;
>> : > ErrCode : Word);
>> : >      procedure Execute; override;
>> : >      procedure ShowDoc;
>> : >  end;
>> : >
>> : >  TForm1 = class(TForm)
>> : >    HttpCli1: THttpCli;
>> : >    DoButton: TButton;
>> : >    Memo1: TMemo;
>> : >    procedure DoButtonClick(Sender: TObject);
>> : >  private
>> : >    FWorkerThread : TWorkerThread;
>> : >  end;
>> : >
>> : > var
>> : >  Form1: TForm1;
>> : >
>> : > implementation
>> : >
>> : > {$R *.dfm}
>> : >
>> : > procedure TWorkerThread.Execute;
>> : > begin
>> : >    FHttpCli.ThreadAttach;
>> : >    FHttpCli.MultiThreaded := TRUE;
>> : >    FHttpCli.URL           := 'http://localhost';
>> : >    FHttpCli.RcvdStream    := TMemoryStream.Create;
>> : >    FHttpCli.OnRequestDone := HttpCliRequestDone;
>> : >    FHttpCli.GetASync;
>> : >    FHttpCli.MessageLoop;
>> : >    FHttpCli.ThreadDetach;
>> : >    FHttpCli.MultiThreaded := FALSE;
>> : > end;
>> : >
>> : > procedure TWorkerThread.HttpCliRequestDone(Sender : TObject; RqType:
>> : > THttpRequest; ErrCode : Word);
>> : > begin
>> : >    FHttpCli.RcvdStream.Seek(0, 0);
>> : >    Synchronize(ShowDoc);
>> : >    FHttpCli.RcvdStream.Free;
>> : >    FHttpCli.RcvdStream := nil;
>> : >    PostMessage(FHttpCli.Handle, WM_QUIT, 0, 0);
>> : > end;
>> : >
>> : > procedure TWorkerThread.ShowDoc;
>> : > begin
>> : >    Form1.Memo1.Lines.LoadFromStream(FHttpCli.RcvdStream);
>> : > end;
>> : >
>> : > procedure TForm1.DoButtonClick(Sender: TObject);
>> : > begin
>> : >    HttpCli1.ThreadDetach;
>> : >    FWorkerThread                 := TWorkerThread.Create(TRUE);
>> : >    FWorkerThread.FreeOnTerminate := TRUE;
>> : >    FWorkerThread.FHttpCli        := HttpCli1;
>> : >    FWorkerThread.Resume;
>> : > end;
>> : >
>> : > end.
>> : > --
>> : > [EMAIL PROTECTED]
>> : > http://www.overbyte.be
>> : >
>> : >
>> : >
>> : > ----- Original Message ----- 
>> : > From: "Francois PIETTE" <[EMAIL PROTECTED]>
>> : > To: "ICS support mailing" <twsocket@elists.org>
>> : > Sent: Monday, June 05, 2006 12:25 PM
>> : > Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> : >
>> : >
>> : >> Yes, I found the problem. More complex to solve than what I thought
>> : >> first.
>> : >>
>> : >> --
>> : >> [EMAIL PROTECTED]
>> : >> http://www.overbyte.be
>> : >>
>> : >> ----- Original Message ----- 
>> : >> From: "Fastream Technologies" <[EMAIL PROTECTED]>
>> : >> To: "ICS support mailing" <twsocket@elists.org>
>> : >> Sent: Monday, June 05, 2006 11:37 AM
>> : >> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> : >>
>> : >>
>> : >>> Francois,
>> : >>>
>> : >>> Have you been able to reproduce the problem there?
>> : >>>
>> : >>> Regards,
>> : >>>
>> : >>> SZ
>> : >>>
>> : >>> ----- Original Message ----- 
>> : >>> From: "Fastream Technologies" <[EMAIL PROTECTED]>
>> : >>> To: "ICS support mailing" <twsocket@elists.org>
>> : >>> Sent: Sunday, June 04, 2006 6:24 PM
>> : >>> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> : >>>
>> : >>>
>> : >>>> AFAIU, instead of FWindowHandle being defined as window, we now
>> have
>> : >>>> the
>> : >>>> entire hierarchy being derived from a Twndcontrol which pools and
>> : >>>> shares
>> : >>>> the
>> : >>>> windows. But I am clueless in terms of this bug as well. I sent a
>> : >>>> private
>> : >>>> email to Francois asking for consultancy about this.
>> : >>>>
>> : >>>> Thanks anyway,
>> : >>>>
>> : >>>> SZ
>> : >>>>
>> : >>>> ----- Original Message ----- 
>> : >>>> From: "Arno Garrels" <[EMAIL PROTECTED]>
>> : >>>> To: "ICS support mailing" <twsocket@elists.org>
>> : >>>> Sent: Sunday, June 04, 2006 6:06 PM
>> : >>>> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> : >>>>
>> : >>>>
>> : >>>>> Fastream Technologies wrote:
>> : >>>>>> Nothing changes. This is my second answer to this question as
>> : >>>>>> sometimes my email server gets swamped :(...
>> : >>>>>>
>> : >>>>>> I still get the exception even though the package compiles with
>> no
>> : >>>>>> errors.
>> : >>>>>
>> : >>>>> Looks like a bit more complicated. Francois probably knows better
>> how
>> : >>>>> to fix it, I still haven't fully got the logic of the new 
>> version,
>> : >>>>> sorry.
>> : >>>>>
>> : >>>>>>
>> : >>>>>> Regards,
>> : >>>>>>
>> : >>>>>> SZ
>> : >>>>>>
>> : >>>>>> ----- Original Message -----
>> : >>>>>> From: "Arno Garrels" <[EMAIL PROTECTED]>
>> : >>>>>> To: "ICS support mailing" <twsocket@elists.org>
>> : >>>>>> Sent: Sunday, June 04, 2006 5:31 PM
>> : >>>>>> Subject: Re: [twsocket] ICSv6 Thread Attach/Detach problem
>> : >>>>>>
>> : >>>>>>
>> : >>>>>>> Fastream Technologies wrote:
>> : >>>>>>>> It is used here:
>> : >>>>>>>
>> : >>>>>>> Yes I know, but what happens? As Francois already supposed it
>> : >>>>>>> is in fact redefined and never assigned in TCustomWSocket.
>> : >>>>>>>
>> : >>>>>>>
>> : >>>>>>> ---
>> : >>>>>>> Arno Garrels [TeamICS]
>> : >>>>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>> : >>>>>>>
>> : >>>>>>>
>> : >>>>>>>
>> : >>>>>>> --
>> : >>>>>>> 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
>> : >>
>> : >> -- 
>> : >> 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
>
> -- 
> 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