I have some 3rd party DLL's which all have the same structured 
interface.  The variables, procedures and functions are all published 
the same, and I have the details of the structrure.

They are plugins for another application -- Winamp audio input plugins 
to be precise.  My program should operate on any of the DLL's, no matter 
which one is loaded, to decode an andio codec to PCM.

I'm having great success with several of the DLL's but a couple are are 
generating access violations like this:
Project Myproject.exe raised exception class C0000005 with message 
'access violation at 0x00000000: read of address 0x00000000'.

I can't see any way of debugging this.  I don't have access to the 3rd 
party DLL source to see what is going on.  These same DLL's work when 
used with Winamp.  Is there any way to find out what address offset in 
the DLL the error occured?  Or is it more likely that the error occured 
in my code?

Perhaps the DLL is attempting to call a function in my program which is 
undefined (unassigned pointer address)?  I've checked all the functions 
and procedures that are called from the DLL to my program, and these 
appear to all be assigned correctly.  I haven't altered the pointers to 
the procedures that are called from my program to the DLL (the reverse 
situation).  I think that is correct.  I've never attempted to use DLL's 
at all in the past so this is all new to me.

I'm wondering if Winamp has some way to ignore the exceptions caused by 
buggy plugins.  I can do this while running in the IDE, and one problem 
DLL seems to work fine just clicking F9 after an exception occurs.  So 
is there some way to prevent the exceptions from terminating the app?

When the app is run outside the IDE, I don't get any errors at all, the 
app just terminates.  Any help most appreciated.

Regards,
Ross. 


_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to