views:

220

answers:

4

I've problem with exception dialogs: I'm using RemObjects SDK for Client/Server -application. When there's connection problem, the client starts throwing "simple" exceptions dialogs, just text and a button. When I'm running the application on my development machine the exceptions dialogs are not shown (as expected). The text on the dialog is simple "Timeout", "Connection refused" etc. That kind of exceptions are raised AND handled inside RemObjects code inside worker thread. I've also EurekaLog activated, but it doesn't help at all.

Any ideas why it works on development machine, but not on "vanilla" client machine? How I can get rid of all exception popups?

I've following

  • Delphi 2007
  • RemObjects SDK "Winter 2009"
  • EurekaLog 6.0.22
A: 

You're going to have to do some debugging. If it's handled inside the worker thread, then it won't raise that dialog. Something's happening that causes the exception objects to escape to a higher level of the call stack.

Try installing on a vanilla machine of your own and trying to reproduce it yourself. You might notice some detail that the client didn't notice or didn't bother to report to you. Once you're able to reproduce it, you can try to figure out what's causing it with remote debugging or a handful of other ways.

Mason Wheeler
I'm working with the client machines, so I've everything I need to solve this, I just don't know how yet :)
Harriv
+3  A: 

I would do the following:

Good luck!

André
+1 That's a great tool to know about!
Smasher
+1 ditto (5 more to go...)
Lieven
A: 

A first step would be to use the remote debugger and start or attach to the process on the client machine.

Remko
A: 

You may have the IDE set to ignore these exceptions. You can check by looking in the debugger options. See Menu Tools/Options and then look in Debugger Options/Language exceptions.

If so, you can uncheck the option to get the exceptions back on the development machine and then use try/except to handle the exceptions programmatically.

dcraggs