These errors are non-existent when the server (unmodified) is on another
machine (a Windows NT 4 machine).
Some of the problems:
* Creating and activating more than one server through ServantActivator
* Passing of a string sequence as function parameter, f.example:
From the client:
bool
OmniORBArxDbReactorBean::onObjModified(const char* teststr1, const char*
teststr2, const char* teststr3 )
{
RcsxDbBean::Seq_string params;
params.length(3);
params[0] = teststr1;
params[1] = teststr2;
params[1] = teststr3;
for (CORBA::ULong i=0; i< params.length(); i++)
{
printf("%s\n", params[i]);
} // This prints correctly here
_server->updateRow(params); // CORBA server called here
return false;
}
And the server:
void
HBMN_Door_i::updateRow(const RcsxDbBean::Seq_string& params)
{
for (CORBA::ULong i=0; i< params.length(); i++)
{
printf("%s\n", params[i]);
}// This prints three times ^@
// Why isn't the parameters printed correctly???????????
}
and I get an "omniORB: An exception has occured and was caught by
tcpSocketMT Worker thread" exception.
Any comments greatly appreciated!
Ares
for (CORBA::ULong i=0; i< params.length(); i++)
{
printf("%s\n", params[i]);
}
also worked fine for the client like this:
for (CORBA::ULong i=0; i< params.length(); i++)
{
_CORBA_String_element tmp = params[i];
printf("%s\n", tmp._retn());
}
BUT this loop hanged the server, and returned an exception (unknown) to the
client.
Ares
Try something like:
printf("%s\n", (const char *) params[i]);
for starters.
Gary Duzan
BBN Technologies
A Verizon Company
I compiled the Echo example, and even this simple example had errors after
three-four client invocations, while the same example compiled with Visual
Studio 6, worked fine (as usual).
Blast!
Autodesk claims one needs VS 7 in order to compile Objectarx applications
for Autocad 2004, and since we use Omniorb a lot with Autocad, this was bad
news!
I will see if Autocad 2004 after all handles VS 6, and we will be up and
running as before.
Or even compiling the server with VS 6, and the Autocad clients with 7 might
do it.
Thanks for answering!
Ares
"Gary D. Duzan" <gdu...@bbn.com> skrev i melding
news:c1Oya.5$n4....@paloalto-snr1.gtei.net...
>I have experimented a bit, and I finally have found the culprit: Visual
>Studio 7.0!
If you compile omniORB itself with VC 7, it should work fine. VC 7.1
has a bug in using friend operators that requires you to use the
latest CVS version of omniORB.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- dun...@grisby.org --
-- http://www.grisby.org --
To get around the problem for now I compiled the server with VC 6, and the
Autocad client with VC 7 (which is required by Autocad 2004), and it works
with the present libraries.
But in the long run of course, I will compile the source with VC 7.
Regards,
RCS
"Duncan Grisby" <dunca...@grisby.org> skrev i melding
news:Uo4za.9863$sJ4....@newsfep4-winn.server.ntli.net...