
Invalid Address specified to RtlValidateHeap
i have an application that uses a DLL which exports a few classes.
the application runs fine, but when i exit the program, it gives the
following error :
HEAP[Plot2000d.exe]: Invalid Address specified to RtlValidateHeap( 800000,
2f2a08 )
i figured it has got somethign to do with the memory release. i searched
some pages on the net (including
http://www.*-*-*.com/ ;EN-US;q190799& ) and most
of them say that its because the EXE and DLL use different CRT libraries.
and it says that the EXE and the DLL has to use the same copy of the CRT.
i tried building the dll and exe using the same CRT libraries. i tried
MultiThreaded DLL, Debug Multi ThreadedDLL and Debug MultiThreaded. but the
error still keep coming.
i also tried using MFC in a shared DLL instead of Static library, but with
no luck.
does anybody have any idea how to fix this ??