Hi,
I am developing an application that uses both a
TWSocketServer/TTcpSrvClient for TCP comms and a THttpCli to retrieve
periodic images over HTTP. I'm doing this in C++ in BDS2006.
All components are created (new) in code, so not present on the forms,
and then deleted in class destructors.
Now, before I added the THttpCli, everything was fine. Startup, normal
comms operation, and shutdown went without a hitch and no exceptions
fire. Even Codeguard was happy.
However, now I've added the THttpCli component, I can't find a way to
shutdown the application without exceptions & lockups.
In normal operation, the component works. It will retrieve images (every
30 seconds [TTimer] from a video server) if the network is up,
OnSocketError fires if the connection is down.
But, when I try to terminate the program, I can't get a clean shutdown.
Depending on what I've tried, I get exceptions or lockups/hangs.
Deleting the component the moment the class destructor is called fails,
as the component could be in the middle of an operation (I am in a high
latency environment). Calling Abort() at this time seems to just hang
(the operational routine I have ever returns from the component).
What is the 'correct' way to cleanly shutdown the THttpCli component,
whilst it could be in use?
Thanks,
Dave
--
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