[twsocket] Vista - OnSessionClosed

2007-06-02 Thread David Bridges
I have an app that has been working fine with XP and Win2k but I just 
discovered there is a problem when using Vista.  I have a TWSocket that 
connects to a TWSocketServer, the connection happens Ok, the server sends 
it's first message and then the TWSocket gets an OnSessionClosed and then, 
not unexpectedly, the TWSocketServer gets an OnClientDisconnect.  Anyone 
experienced this or have any clue what's going on?  Both the client and the 
server are running on Vista.

Db 

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


Re: [twsocket] ICS v5 compatibility / WndProc handling

2007-06-02 Thread Arno Garrels
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


Re: [twsocket] ICS v5 compatibility / WndProc handling

2007-06-02 Thread Primož Gabrijelčič
It works fine in our applications.

Primoz

-Original Message-
From: [EMAIL PROTECTED] [mailto:[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


Re: [twsocket] ICS v5 compatibility / WndProc handling

2007-06-02 Thread Arno Garrels
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