[EMAIL PROTECTED] wrote:
> David  thank you for response my question ,
> 
> 1. this is core dump stack trace
> 
>   -- Last Stack Trace
> ---------------------------------------------------------------
> .() at 0x0
This means the program is trying to execute code at address 0, so there
is likely a null pointer to an object.

> XMLString.transcode__Q2_11xercesc_2_89XMLStringFCPCcCPQ2_11xercesc_2_813MemoryManager()
>  at 0x10108810
> InputSource.__ct__Q2_11xercesc_2_811InputSourceFCPCcCPQ2_11xercesc_2_813MemoryManager()
>  at 0x101afc98
> MemBufInputSource.__ct__Q2_11xercesc_2_817MemBufInputSourceFCPCUcCUiCPCcCbCPQ2_11xercesc_2_813MemoryManager()
>  at 0x102fccfc
> bss_ECNS_parseXML.bss_ECNS_parseXML__15BS_PPTManager_iFR25bssObjXMLparse_out_structRC21pptObjCommonIn_structPCcRC28_IDL_SEQUENCE_xmlContextInfoRC22_IDL_SEQUENCE_pptUData(0x3319b4d8,
>  0x33776108, 0x3378e0f8, 0x34922988, 0x337a8100, 0x337a8110) at 0x1009af10
Please make sure you're not initializing and terminating Xerces-C in
each thread.  That is explicitly not thread-safe.  It may be that the
MemoryManager instance is null, or the transcoding system is not
initialized.

> 
> 2. I use while loop for parse xml string , and combine xmlstring
> 
> 3. In my parse XML function I already defind  inline function X for release
> XMLString::transcode
>     class XStr
> {
> public :
>     XStr(const char* const toTranscode)
>     {
>         fUnicodeForm = XMLString::transcode(toTranscode);
>     }
>     ~XStr()
>     {
>         XMLString::release(&fUnicodeForm);
>     }
>     const XMLCh* unicodeForm() const
>     {
>         return fUnicodeForm;
>     }
> private :
>     XMLCh*   fUnicodeForm;
> };
> 
> #define X(str) XStr(str).unicodeForm()
Using this macro is very inefficient.  There are previous message
threads on the  user list that discuss creating compile-time UTF-16
string constants.  Also, please make sure you read the threads regarding
XMLString::transcode() and issues with the local code page.

> 
> 4. mem_controlx is smart point object
>    for control memory from XMLString::transcode( XML CH * ) return
Then why not have an accessor function that returns const char*, rather
than relying on brute-force C-style casting?

Dave

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

Reply via email to