[omniORB] Problems with application initialization on NT

Gerke, Tom Tom.Gerke@Dialogic.com
Tue, 13 Jun 2000 12:50:27 -0400


I'm having a problem running my application on Windows NT 4.0 with the VC++
6.0 compiler and omniORB 2.8.0.  (When I use the VC++ 5.0 compiler, the
application works fine.)  When I attempt to resolve an initial reference to
the Naming Service, I get a CORBA::NO_RESOURCES exception.

Here's the set up:
My application calls into a DLL, which initializes an ORB for the
application, then that DLL in turn calls into another helper DLL as follows,
to resolve the Naming Service:

>unsigned int NSMgr::Initialize(CORBA::ORB_ptr ORBptr) {
>
>   CORBA::Object_ptr initServ;
>
>   orb = ORBptr;     // 'orb' is defined as a private data member (of type
CORBA::ORB_ptr) of the NSMgr class.
>
>   try 
>   {
>      initServ = orb->resolve_initial_references("NameService");
>   }
>
...

There is a funny thing though.  I can get this to work with the VC++ 6.0
compiler, if I move the call to resolve_initial_references() out of the
helper DLL and into the first DLL.  I'm not sure what to make of that...
(When doing these experiments, I would rebuild everything (my app, my DLL
and my helper DLL) with the same version of the compiler.)

Has anyone done any experimentation with the VC++ 6.0 compiler which might
shed some light on this matter?

Also, are the NT binaries which are distributed with the omniORB 2.8.0
release compiled for 'Multithreaded DLL', and what version of the VC++
compiler were they generated with?

Thanks for any help,
Tom Gerke
Software Engineer
Dialogic, an Intel Company
phone: (973) 967-6175
fax: (973) 967-8109
mailto:gerket@dialogic.com
http://www.dialogic.com