Re: [twsocket] ICS functions blocked when UI is active
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
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
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
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