C++ / Xerces-C / Pointer problem
-
OK this is a problem of a Java programmer trying to hack C++... *sigh*
So I have this piece of code which parses an incoming message:SINT32 proccessMessageComplete() { MemBufInputSource oInput(m_MsgBuff,m_aktIndex,"synchannel"); DOMParser oParser; oParser.parse(oInput); m_aktIndex=0; m_MsgBytesLeft=0; DOM_Document doc = oParser.getDocument(); if(doc==NULL) return E_UNKNOWN; return processXMLMessage(doc); }
Now I call processXMLMessage(doc), this method inserts the DomDocument in a queue and it is processed asynchronously later:
SINT32 processXMLMessage(DOM_Document &a_doc) { aiQueueItem * pItem = new aiQueueItem; pItem->pDomDoc = &a_doc; pItem->pHashEntry = m_pHashEntry; ms_pAccountingInstance->m_pQueue->add(pItem, sizeof(aiQueueItem)); return E_SUCCESS; }
However when the other threads fetches the msg from the queue, the DOM_Document is already deleted, of course, because it was local to the above function.
Now my question is how can I make this DOM_Document last until it is processed???
THX
batz33
-
Peut-être est-il préfere que poser ton question á forum de propre langue?
Vas http://www.developpez.net/forums/index.php?c=11 !
-
danke also das war ja mal hilfreich! super! *kotz*
-
falls es jemand interessieren sollte, hier hab ich wirklich hilfe bekommen:
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.