Now that I think about it, that sounds like an old cascading-event problem like one might get in VB. I assume Delphi is similar.
Perhaps it's one of these kind of scenarios:
- You press close button.
- WindowClose code says "If (connected) then (disconnect) and (wait for disconnect) then (try closing again)".
- Disconnect routines take longer than expected.
- WindowClose code tries to terminate the window process but it can't because there's still active code in the disconnect routines.
Depending on how it's written, that might put the code into an infinite re-entrant loop where the WindowClose routine keeps calling itself. Eventually the process crashes when it runs out of stack space.
I don't know if that's what's happening or not, I just thought the behavior looked like that's what was happening. I've seen it in VB too many times now.
___________
Tony Fabris