madExcept not catching exceptions since upgrading to 4.0.14

delphi package - automated exception handling
Post Reply
Tim
Posts: 4
Joined: Wed Apr 20, 2016 10:02 am

madExcept not catching exceptions since upgrading to 4.0.14

Post by Tim »

Hello,

I am using madExcept with Delphi 10 Seattle on a Windows 8.1 Professional virtual machine. Up until I upgraded to version 4.0.14, everything was working as expected. But with version 4.0.14 installed, exceptions in programs I have compiled with Delphi are apparently no longer caught by madExcept: the usual "An error occurred in the application." dialog does not appear, and no bug report file gets generated. To establish this I used the following code:

procedure TForm1.Button1Click(Sender: TObject);
begin
raise exception.create('go go exception!');
end;

I have already tried the following troubleshooting steps.

(1) Testing the above code in an existing and in a brand-new VCL forms application.

(2) Compiling the project as a 32-bit or 64-bit EXE, release or debug, and running the program directly by double-clicking on the EXE in Explorer.

(3) Uninstalling madExcept via Programs and Features in the control panel, then deleting the C:\Program Files (x86)\madCollection, before running the version 4.0.14 installer again.

(4) I noticed that the following madExcept units don't get added automatically to the project uses clause when I tick the "enable madExcept" option in the "madExcept 4.0.14 settings" dialog, so I tried adding them manually:

madExcept,
madLinkDisAsm,
madListHardware,
madListProcesses,
madListModules,

(5) Using different test code to provoke an exception:

procedure TForm1.Button1Click(Sender: TObject);
var
o : TObject;
begin
o := TObject.Create();
showmessage(o.classname());
o.free();
showmessage(o.classname());
o := nil;
showmessage(o.classname());
end;

But no matter what I do, I cannot get the "An error occurred in the application." dialog to appear.

On my main Windows 10 Home machine with Delphi 10 Seattle and madExcept 4.0.14 installed, I don't have this problem at all: the madExcept units get added automatically to the project uses clause, and the "An error occurred in the application." dialog appears as expected.

Any ideas what I am doing wrong here?

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

Re: madExcept not catching exceptions since upgrading to 4.0

Post by madshi »

Probably the madExcept IDE wizard isn't loaded. Delphi likes to sometimes add some packages to a list of "never try to load again" packages, if it has problems loading them at any time, even only once. Do you happen to have self-written IDE packages which internally use madExcept?

I'd suggest a full cleanup like this:

1) Uninstall madCollection.
2) Search harddisk and registry for "mad*.*" and delete everything that belongs to madCollection.
3) Start Delphi to make sure there are no complaints and no traces left of madExcept.
4) Reinstall madCollection.

That usually solves such issues.
Tim
Posts: 4
Joined: Wed Apr 20, 2016 10:02 am

Re: madExcept not catching exceptions since upgrading to 4.0

Post by Tim »

Yes, that seems to have solved the problem. Many thanks!
Post Reply