madshi fixed my access violation

delphi package - automated exception handling
Post Reply
Delfi
Posts: 5
Joined: Thu Nov 10, 2005 11:52 pm

madshi fixed my access violation

Post by Delfi »

I wonder, just for a test i built a version of my program with madexcept, and something interesting happened: the bug was gone! there was no more access violation - no error message anymore, i cannot explain this, but before the program went access violation on some machines (no specific pattern was found out, some worked some not, different hardware and software), i use delphi 4 for compiling.

When i build the app with madshi it works!! well i cannot explain what happened really, so i hope you can explain it to me, does madshi replace anything in my app like the memory manager or fixes any bugs in delphi vcl? what does it do to my exe that makes it work properly?
madshi
Site Admin
Posts: 10766
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

Which madExcept version are you using?

Maybe it's "IsMultiThread := true". That already fixed AVs for other programmers. Check ou the documentation about "IsMultiThread".
Delfi
Posts: 5
Joined: Thu Nov 10, 2005 11:52 pm

Post by Delfi »

I am using madexcept 2.7C.

i tried compiling the app with IsMultiThread true and false without madshi and the app was still crashing, only madshi fixes this, i don't know how, does madshi replace anything in my app like the memory manager or fixes any bugs in delphi vcl? what does it do to my exe that makes it work properly?

edit: and i use delphi 4 SP2.
madshi
Site Admin
Posts: 10766
Joined: Sun Mar 21, 2004 5:25 pm

Post by madshi »

Do you use a memory manager replacement like FastMM or NexusMM or anything like that? Or are you using ShareMem?

madExcept does not replace anything, but madExcept 2.7c manipulates the order in which your units are initialized. Newer versions of madExcept don't do that, any longer. Try the latest version:

http://madshi.net/madCollection.exe
Delfi
Posts: 5
Joined: Thu Nov 10, 2005 11:52 pm

Post by Delfi »

madshi wrote:Do you use a memory manager replacement like FastMM or NexusMM or anything like that? Or are you using ShareMem?

madExcept does not replace anything, but madExcept 2.7c manipulates the order in which your units are initialized. Newer versions of madExcept don't do that, any longer. Try the latest version:

http://madshi.net/madCollection.exe


no, i don't use any other memory managers, maybe thefault is the unit uses order (all units have A LOT of dependancy on each other and there are really A LOT of units).

i'll give a try to the last version and report what happens.
Post Reply