Archived

This forum has been archived. Please start a new discussion on GitHub.

some problems with dll

recently, I meet a strange problem, I make a class with ice and test it well, but after i packed this class into a dll at server side , and test it with the same test server, something wrong jump out.

at client side, i can call any methods of this class well except one, when I call this one, the progrmma paused at: "bool __ok = __out.invoke();", the code is here:
::Ice::Long
IceDelegateM::DAOIceConnection::SetParameterHead(::Ice::Int token, const ::DAOIceParameterHeads& head, const ::Ice::Context& __context)
{
static const ::std::string __operation("SetParameterHead");
::IceInternal::Outgoing __out(__connection.get(), __reference.get(), __operation, static_cast< ::Ice::OperationMode>(0), __context, __compress);
::IceInternal::BasicStream* __os = __out.os();
__os->write(token);
::__write(__os, head, ::__U__DAOIceParameterHeads());
bool __ok = __out.invoke();
try
{
::IceInternal::BasicStream* __is = __out.is();
if(!__ok)
{
__is->throwException();
}
::Ice::Long __ret;
__is->read(__ret);
return __ret;
}
catch(const ::Ice::LocalException& __ex)
{
throw ::IceInternal::NonRepeatable(__ex);
}
}

and the server side paused at :"::__read(__is, head, ::__U__DAOIceParameterHeads());"

the total code here is:

::IceInternal::DispatchStatus
DAOIceConnection::___SetParameterHead(::IceInternal::Incoming& __in, const ::Ice::Current& __current)
{
::IceInternal::BasicStream* __is = __in.is();
::IceInternal::BasicStream* __os = __in.os();
::Ice::Int token;
::DAOIceParameterHeads head;
__is->read(token);
::__read(__is, head, ::__U__DAOIceParameterHeads());
::Ice::Long __ret = SetParameterHead(token, head, __current);
__os->write(__ret);
return ::IceInternal::DispatchOK;
}

I am so puzzle is that other methods are same as this method and they all are invoked well, any one can give me any suggestion? thanks!

BTW, in the same sample project, when I invoke destory of a commnunicator in a dll , in spite of If i called shutdown and waitforshutdown, the error will jump out tells me the memory error, is it a problem or I make sth wrong ?

Comments

  • benoit
    benoit Rennes, France
    Sorry, it's impossible to say what could be wrong without more information. Please always provide which version of Ice, Windows, Visual C++ you're using. Could you send us a small self compilable example demonstrating the problem?

    Benoit.