Fastream Technologies wrote:
> Arno,
>
> ----- Original Message -----
> From: "Arno Garrels" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <[email protected]>
> Sent: Wednesday, February 07, 2007 2:43 PM
> Subject: Re: [twsocket] Possible bug and solution in TWndControl
>
>
>> Fastream Technologies wrote:
>>
>>> I did not understand what you propose to have a single wndhandler
>>> per thread with messages starting from WM_APP + 100--how to do it
>>> properly?
>>
>> As we discussed yesterday, increase value of constant WH_MAX_MSG,
>> the higher the value the less windows will be created but performance
>> may decrease. An option to _force_ only one single window is not
>> available in the component. Initialize global variable
>> GWndHandlerMsgLow to change the base of allocated message numbers.
>
> I believe you are not getting all of my messages (I cannot exactly
> see them since I am using Gmail and Gmail blocks the messages I send
> to mailing lists). Anyway, the WM_USER + 1 is hard coded:
Initialize means you assign it in an Intialization section, do you?
What is the purpose of creating a plain WndHandler in a worker thread?
Please explain.
>
> I traced the bug to here:
>
> function TIcsWndHandlerPool.GetWndHandler(
> HandlerCount : UINT;
> ThreadID : THandle) : TIcsWndHandler;
> var
> I : Integer;
> L : TIcsWndHandlerList;
> begin
> // Search the list which has same thread ID
> I := FList.Count - 1;
> while (I >= 0) and
> (TIcsWndHandlerList(FList.Items[I]).ThreadID <> ThreadID) do
> Dec(I);
> if I >= 0 then
> L := TIcsWndHandlerList(FList.Items[I])
> else begin
> // No list found. Create a new one
> L := TIcsWndHandlerList.Create;
> L.ThreadID := ThreadID;
> FList.Add(L);
> end;
>
> // Search the list for a WndHandler with enough MsgHandlers
> available I := 0;
> while I < L.Count do begin
> Result := TIcsWndHandler(L.Items[I]);
> if Result.GetMsgLeft >= HandlerCount then
> Exit;
> Inc(I);
> end;
> Result := TIcsWndHandler.Create;
> Result.FOwnerList := L;
> OutputDebugString(PChar('TIcsWndHandler.Create OwnerList = ' +
> IntToHex(Integer(Result.FOwnerList), 8)));
> Result.MsgLow := WM_USER + 1; // The EIP comes here, does not
> use my wndhandler in thread!
> L.Add(Result);
> end;
>
> This occurs in threadattach in the thread code I sent!
>
> Best Regards,
>
> SZ
>
>
>>
>> Why do you want to debug and tune all at the same time? Usually
>> I start tweaking (known) parameters once the app. runs stable
>> with default settings.
>>
>> ---
>> Arno Garrels [TeamICS]
>> http://www.overbyte.be/eng/overbyte/teamics.html
>>
>>
>>>>
>>>> And check for HWND = 0 if you process custom thread messages sent
>>>> by PostThreadMessage() (just to be sure).
>>>
>>> Already doing this.
>>>
>>>>
>>>>
>>>>
>>>>> Regards,
>>>>>
>>>>> SZ
>>>>>
>>>>> ----- Original Message -----
>>>>> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
>>>>> To: "ICS support mailing" <[email protected]>
>>>>> Sent: Tuesday, February 06, 2007 10:17 PM
>>>>> Subject: Re: [twsocket] Possible bug and solution in TWndControl
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>>> It is just a simple constant, why shouldn't it be 800 instead of
>>>>>>> 100??
>>>>>>
>>>>>> Because it is not the source of a bug. No need to change anything
>>>>>> if it is not buggy. Changing it and then your code works does not
>>>>>> prove there is a bug.
>>>>>>
>>>>>> ---
>>>>>> Rgds, Wilfried [TeamICS]
>>>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>>>>> http://www.mestdagh.biz
>>>>>>
>>>>>> --
>>>>>> 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