From: <loi...@re...> - 2006-07-20 07:33:37
|
> This looks the annoying MSVC++ requirement that memory is=20 > deallocated in the same library (DLL) in which it was=20 > allocated. So, if a library gives you a newly allocated=20 > object, you can't delete it yourself. You have to tell the=20 > library to delete it. libsigc++ used to have this same problem. >=20 > You can usually fix this by making sure that, though the=20 > deletion is initiated in the caller, the actual deletion=20 > happens in some function in the library. Which would require a patch. To my understanding, there is another way to acheive this : If you select the Multi-threaded DLL (/MD) options, all = allocations/deallocations, either from the main program or from the DLL = are delegated to yet another DLL (MSVCR80.DLL) (which must then be = delivered with the program), and thus happen in a unique place. Of course, the main program and all its DLL should be compile with the = same option. --=20 Lo=EFc |