Is the option "pause all running threads" working?

delphi package - automated exception handling
Post Reply
cguerra
Posts: 4
Joined: Wed Jun 09, 2004 5:45 am

Is the option "pause all running threads" working?

Post by cguerra »

Hi Madshi

I'm using a standard information box to handle some of the exceptions, but I'm having the problem of my Forms not redrawing during/after the exception, but only happens with my standard box, I have try MessageDlg and ShowMessage but it is the same.

I follow your suggestion in the FAQ regarding the redrawn of Forms while the exception box is showing, I uncheck "pause all running threads" but I still not getting my forms to redrawn.

Is there something I can do to fix this?

Regards
madshi
Site Admin
Posts: 10753
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

If you're using VCL boxes (which you are seemingly doing) in an exception handler you must tell madExcept to synchronize your handler. You can do so by setting the second parameter to "true" when calling RegisterExceptionHandler. Have you set it to "false"?
cguerra
Posts: 4
Joined: Wed Jun 09, 2004 5:45 am

Post by cguerra »

Hi Madshi

OH!!, I forgot to mention that I recently updated to madCollection 2.1.2.0, after that I could not compile my project, I was getting the error:

"[Error] MainUnit.pas(221): There is no overloaded version of 'RegisterExceptionHandler' that can be called with these arguments"

The error shows at line "RegisterExceptionHandler(madExceptionDBHandler,false);"

It was working fine before the madCollection update, so I start using the MadExceptionHandler Component.

Do you know what is causing this error?

Regards
madshi
Site Admin
Posts: 10753
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

The parameters of the exception handler callbacks have changed slightly:

Code: Select all

type
  TExceptActionEvent   = procedure (action          : TExceptAction;
                                    frozen          : boolean;
                                    exceptObject    : TObject;
                                    exceptAddr      : pointer;
                                    crashedThreadId : dword;
                                    var bugReport   : string;
                                    var screenShot  : string;
                                    var handled     : boolean      );
Post Reply