An external consultant wrote us a C++ program that reads and parses some XML files. He used an older version of Xerces and I've had to recompile it against a newer version of Xerces and now I'm getting a run-time error.
Here is the code snippet that is causing the error
try
{
// Instantiate the Xerces DOM parser
parser = new SAXParser();
if ( parser == NULL ) {
fverbose ( AFCCB2MMLAdapter::logFile, "ERROR: Could not create Xerces SAX Parser\n" );
return NULL;
}
}
catch (const SAXParseException& toCatch) {
char* message = XMLString::transcode(toCatch.getMessage());
fverbose ( AFCCB2MMLAdapter::logFile, message );
return NULL;
}
catch (...)
{
fverbose ( AFCCB2MMLAdapter::logFile, "Error in SAXParser.\n" );
return NULL;
}
In the C++ project, I've modified the Linker dependency so it is against the new version:
xerces-c_3.lib
And I've put the xerces DLL in the same folder as my EXE but the DLL is named differently than the LIB:
xerces-c_3_1.dll
At this point, I'm kind of stumped. I can't figure out what the actual error message is because the catch (...) block seems to be catching the error but I don't know C++ well enough to figure out how to get the error.
Any ideas?
Thanks, Kevin