[omniORB] Using an omniORB client with an Excel add-in

david.sansom@db.com david.sansom@db.com
Tue, 21 Sep 1999 17:34:03 +0000



Trifle obscure perhaps, but here goes:

Basics:
omniORB v2.7.1
Client on NT4.0, compiled with MSVC 5.0 (defined _WINSTATIC for static omniORB
libraries)
(Server on Solaris using Sun 4.2 compiler, but not relevant here)
Excel v8.0

I'm building an XLL (essentially a windows DLL, used as a MS Excel add-in),
which will wrap client-side functions for calling my server.

I'm using the call:
CORBA::ORB_ptr orb = CORBA::ORB_init(argc,argv,"omniORB2");
within my XLL function to initialize the ORB.

The problem I have is that although Excel happily loads the XLL (add-in) and I
can call my function successfully, when I exit Excel the process never
terminates. It is as if the ORB is running its own message queue and this fails
to shutdown when the DLL unloads.  I have reduced my function so that all it
does is initialize the ORB as above, so I guess it's a fundamental problem.

I have a stand-alone client app on NT which works just fine.

Has anyone else had any experience with using omniORB in a DLL on NT ?

Thanks,

David Sansom
Relative Value Research
0171 545 4886
david.sansom@db.com