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

Sai-Lai Lo S.Lo@uk.research.att.com
21 Sep 1999 17:52:08 +0100


This is a known problem. A long answer can be found in:

http://www.uk.research.att.com/omniORB/archives/1999-09/0075.html

A short one is to add the option "-ORBoutConScanPeriod 0" to ORB_init.
Or add this call before calling ORB_init():

    omniORB::idleConnectionScanPeriod(omniORB::idleOutgoing,0);

Please let the list know if this solves your problem.

Sai-Lai


>>>>> david sansom writes:

> 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 ?



-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND