> My vote is pro, depends on Francois, he's the (busy) boss ;-)

OK.
Also update the comment in french:
        // Les exceptions doivent etre gérées, sinon l'application sera
        // liquidée des qu'une exception se produit !

// All exceptions must be handled otherwise the application
// will terminate as soon as an exception is raised.


--
[EMAIL PROTECTED]
The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be


----- Original Message ----- 
From: "Arno Garrels" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Saturday, June 02, 2007 8:19 PM
Subject: Re: [twsocket] ICS v5 compatibility / WndProc handling


> Primož Gabrijelcic wrote:
>> It works fine in our applications.
>
> My vote is pro, depends on Francois, he's the (busy) boss ;-)
>
>>
>> Primoz
>>
>> -----Original Message-----
>> From: [EMAIL PROTECTED] [mailto:twsocket-
>> [EMAIL PROTECTED] On
>> Behalf Of Arno Garrels
>> Sent: Saturday, June 02, 2007 8:08 PM
>> To: ICS support mailing
>> Subject: Re: [twsocket] ICS v5 compatibility / WndProc handling
>>
>> Looks usefull, though not tested yet. Francois, what do you think?
>>
>> Primož Gabrijelcic wrote:
>>> Hello everybody (and especially Francois).
>>>
>>> I have this legacy code that was written using ICS v5. Deep inside
>>> some
>>> message processing (specifically RAS handling) is done in overridden
>>> WndProc
>>> methods.
>>>
>>> When I switched to ICS v6, this code broke. This was mainly expected
>>> - ICS
>>> v6 cannot know which socket's WndProc it should call when it receives
>>> some
>>> non-internal (not registered via AllocateMsgHandler) message after
>>> all.
>>> Still, I had to make old code work with the new message dispatch
>>> system and
>>> that's what I did:
>>>
>>> I defined new event handler in the TIcsWndHandler:
>>>
>>>   TIcsOnMessageEvent = procedure(Sender: TObject; var MsgRec:
>>> TMessage) of
>>> object; //Gp
>>>
>>>   TIcsWndHandler = class(TObject)
>>>     FOnMessage     : TIcsOnMessageEvent;
>>>   ...
>>>     property OnMessage: TIcsOnMessageEvent read FOnMessage write
>>> FOnMessage;
>>> //Gp
>>>
>>> In the TIcsWndHandler.WndProc, I call OnMessage if specified:
>>>
>>> procedure TIcsWndHandler.WndProc(var MsgRec: TMessage);
>>> var
>>>     Dummy : Boolean;
>>> begin
>>>     try
>>>         with MsgRec do begin
>>>             if (Msg >= FMsgLow) and
>>>                (Msg < (FMsgLow + WH_MAX_MSG)) and
>>>                Assigned(FMsgMap[Msg - FMsgLow]) then
>>>                 FMsgMap[Msg - FMsgLow].WndProc(MsgRec)
>>>             else begin
>>>                 if assigned(OnMessage) then //Gp
>>>                   OnMessage(Self, MsgRec);  //Gp
>>>                 if Result = 0 then          //Gp
>>>                   Result := DefWindowProc(Handle, Msg, wParam,
>>> lParam);
>>>             end;
>>>         end;
>>>     except
>>>         // Les exceptions doivent etre gérées, sinon l'application
>>> sera
>>>         // liquidée dcs qu'une exception se produit !
>>>         on E:Exception do
>>>             TriggerBgException(E, Dummy);
>>>     end;
>>> end;
>>>
>>> This way, I can catch all messages received by the TIcsWndHandler and
>>> call
>>> appropriate legacy code inside my OnMessage handler.
>>>
>>> I think this is a simple extension that adds much flexibility and
>>> that I
>>> should be included in the base code.
>>>
>>> What do others think?
>>>
>>> Best regards,
>>> Primoz
>> --
>> 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