I am using Xerces 1.4.0 under Win2K with VC6.
The following code snippet asserts in debug mode:
char* p = myNode.getNodeName().transcode();
delete p;
The code is inside a DLL which is being called from an EXE.
The reason for the assert is, I believe, the fact that Xerces was
first initialized in a different address space. VC's debug
runtime checks whether memory to be deleted is from the _local_
heap. If not, it asserts.
Both the EXE and the DLL use Xerces. The EXE builds
a DOM and serializes it into a string. Then it calls the DLL
which receives the XML string as a parameter and parses this to
build a DOM again.
As the DLL might be used by other programs as well (which won't
use Xerces) I initialize the platform utilities in both the EXE
and the DLL.
Is there a way to load a second, local, instance of Xerces so
I could avoid this problem with delete?
Regards
Rudi
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]