Hello Raymond,

Tuesday, May 08, 2001, you wrote:

MR> Thanks.  I realize now that this is covered in the FAQ.  I actually do have
MR> a need to initialize and terminate the utilities multiple times in a single
MR> process.  I have several different libraries that use Xerces-C, each needing
[...]

As for Win32 platform the right way is to implement DllMain function
somewhere in the Win32PlatformUtils.cpp to handle xerces dll loading
and unloading events:

BOOL WINAPI DllMain(
  HINSTANCE hinstDLL,  // handle to the DLL module
  DWORD fdwReason,     // reason for calling function
  LPVOID lpvReserved)  { // reserved

    switch(fdwReason) {
    case DLL_PROCESS_ATTACH:
        XMLPlatformUtils::Initialize();
        break;
    case DLL_PROCESS_DETACH:
        XMLPlatformUtils::Terminate();
        break;
  }
  return TRUE;
}

Having that you may use xerces in your modules without initialization,
or call Init/Term with no risc of deinitialization in the middle of
the way. I think that the same approach clould be used for other
platforms.

Best regards,                           mailto:[EMAIL PROTECTED]
 Maxim



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to