Re: [twsocket] ICS functions blocked when UI is active

2008-06-04 Thread Francois Piette
Using a separate thread to run your socket stuff is probably a good idea in
that situation.

Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
--
[EMAIL PROTECTED]
Author of ICS (Internet Component Suite, freeware)
Author of MidWare (Multi-tier framework, freeware)
http://www.overbyte.be


- Original Message - 
From: John D Algeo [EMAIL PROTECTED]
To: twsocket@elists.org
Sent: Wednesday, June 04, 2008 12:48 AM
Subject: [twsocket] ICS functions blocked when UI is active


 I have observed that Windows does not pass messages to an application when
certain User Interface functions are active.  Examples are an open drop-down
menu or a user dragging a window.  This can cause ICS functions such as this
Socket Open code to fail:

{ Use while to repeat connects to ensure enough time for reset to end }
 tTarget := Time + ((FiResetTime / 1000.0) / 86400.0);
 while not FfConnected and (Time  tTarget) do begin
   FiLastError := SocketConnect; { Sets FfConnecting }
   if FiLastError = FX_OK then
   begin
 { FfConnecting is cleared by FWSocketSessionConnected, may happen
on
   socket connection timeout }
 while FfConnecting do
   Application.ProcessMessages;{ This can be
FWSocket.MessagePump; }
   end; {if FiLastError=FX_OK}
 end; {while not connected}

 With a drop-down menu open, this will run as for long as FiResetTime is
set ( 30 seconds) without connecting.

 Is there a way to make Windows continue to pass messages even if a
drop-down menu or other UI function is active?

 Thanks,
 John
 -- 
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] ICS functions blocked when UI is active

2008-06-04 Thread Dod
Hello,

I  personnaly  always  create  and  manage  the  socket component in a
separated thread. This permit to avoid such problem, and also when the
reverse  appear  when  your socket procedures has a very high activity
that  could  slow  down the main's app message queue that make it less
responsive (or near freezed).

regards.


 I have observed that Windows does not pass messages to an application when
FP certain User Interface functions are active.  Examples are an open drop-down
FP menu or a user dragging a window.  This can cause ICS functions such as this
FP Socket Open code to fail:

{ Use while to repeat connects to ensure enough time for reset to end }
 tTarget := Time + ((FiResetTime / 1000.0) / 86400.0);
 while not FfConnected and (Time  tTarget) do begin
   FiLastError := SocketConnect; { Sets FfConnecting }
   if FiLastError = FX_OK then
   begin
 { FfConnecting is cleared by FWSocketSessionConnected, may happen
FP on
   socket connection timeout }
 while FfConnecting do
   Application.ProcessMessages;{ This can be
FP FWSocket.MessagePump; }
   end; {if FiLastError=FX_OK}
 end; {while not connected}

 With a drop-down menu open, this will run as for long as FiResetTime is
set ( 30 seconds) without connecting.

 Is there a way to make Windows continue to pass messages even if a
FP drop-down menu or other UI function is active?

 Thanks,
 John
 -- 
 To unsubscribe or change your settings for TWSocket mailing list
 please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
 Visit our website at http://www.overbyte.be

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] ICS functions blocked when UI is active

2008-06-04 Thread Wilfried Mestdagh
Hello John,

Normally this is no problem. I think with dropdown menu open there is no
problem also, because windows is pumping messages when a menu is open.

But depending on your applicaiton you can do the socket thing in a
separate thread. Other possibility is to run the communication in a
NT service and have the user interface (separate application) talk to
the service with eg a named pipe (or another tcp connection).

---
Rgds, Wilfried [TeamICS]
http://www.overbyte.be/eng/overbyte/teamics.html
http://www.mestdagh.biz

Wednesday, June 4, 2008, 00:48, John D Algeo wrote:

 I have observed that Windows does not pass messages to an
 application when certain User Interface functions are active. 
 Examples are an open drop-down menu or a user dragging a window.  This
 can cause ICS functions such as this Socket Open code to fail:

{ Use while to repeat connects to ensure enough time for reset to end }
 tTarget := Time + ((FiResetTime / 1000.0) / 86400.0);
 while not FfConnected and (Time  tTarget) do begin
   FiLastError := SocketConnect; { Sets FfConnecting }
   if FiLastError = FX_OK then
   begin
 { FfConnecting is cleared by FWSocketSessionConnected, may happen on
   socket connection timeout }
 while FfConnecting do
   Application.ProcessMessages;{ This can be FWSocket.MessagePump; 
 }
   end; {if FiLastError=FX_OK}
 end; {while not connected}

 With a drop-down menu open, this will run as for long as
 FiResetTime is set ( 30 seconds) without connecting.

 Is there a way to make Windows continue to pass messages even if a
 drop-down menu or other UI function is active?

 Thanks,
 John

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


[twsocket] ICS functions blocked when UI is active

2008-06-03 Thread John D Algeo
I have observed that Windows does not pass messages to an application when 
certain User Interface functions are active.  Examples are an open drop-down 
menu or a user dragging a window.  This can cause ICS functions such as this 
Socket Open code to fail:

   { Use while to repeat connects to ensure enough time for reset to end }
tTarget := Time + ((FiResetTime / 1000.0) / 86400.0);
while not FfConnected and (Time  tTarget) do begin
  FiLastError := SocketConnect; { Sets FfConnecting }
  if FiLastError = FX_OK then
  begin
{ FfConnecting is cleared by FWSocketSessionConnected, may happen on
  socket connection timeout }
while FfConnecting do
  Application.ProcessMessages;{ This can be FWSocket.MessagePump; }
  end; {if FiLastError=FX_OK}
end; {while not connected}

With a drop-down menu open, this will run as for long as FiResetTime is set ( 
30 seconds) without connecting.

Is there a way to make Windows continue to pass messages even if a drop-down 
menu or other UI function is active?

Thanks,
John
-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be