[omniORB] Pb with string in structure
Eric Callier
eric.callier@elftrading.com
Mon, 14 Aug 2000 12:59:01 +0200
hello,
I'm new to omniORB3, I use VC6 (sp4).
It seem that I miss understand the omniORB string_member manipulation or
there is a strange behaviour in VC6 because :
When I try to put a string member in an idl structure VC raise an assertion
error when it try to delete the structure.
When I replace the string type by an any type (in which I put a string)
every thing work fine !
Follow my code:
// my idl
struct Session
{
......
string domaine;
.......
};
interface SessionManager
{
.....
boolean addSession(inout Session session)
raises(myException::SessionException);
......
};
////////////////////
Version 1:
bool SessionManager_impl::addSession(Session& session)
{
fprintf(stdout,"Register Client in %s\n",session.domaine);
}
// VC return an assertion error here when try to delete the string
session.domaine;
// DBGHEAP.C line 1044: _ASSERTE(_CrtIsValidHeapPointer(pUserData));
//data in use
////////////////////
Version 2:
bool SessionManager_impl::addSession(Session& session)
{
fprintf(stdout,"Register Client in %s\n",session.domaine);
session.domaine = (const char*)"test"; //fail on omni::freeString
(_ptr); //data in use
}
Is someone can help me ?
Thanks,
Eric CALLIER