when freeing memory that was allocated by a xerces-c dll in char * DOMString::transcode in another DLL under NT. I get an error message about heaps not being the same.

I tried to use ArrayJanitor to do the free, but it does not consider ArrayJanitor<char> as a member of xerces-c dll: ArrayJanitor is a template, and its code is compiled in my program.

The only solution for me was to add a function to free the transcoded characters in DOMString.cpp / hpp

in DOMString.hpp
CDOM_EXPORT void transcodeFree(char *c);

in DOMString.cpp
CDOM_EXPORT void transcodeFree(char *c)
{
   delete [] c;
}

please let me know what you think about this, and if it is possible to get the fix in xerces-c thanks.
-- Sebastien
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com




Reply via email to