[omniORB] Question about XYZ_var and XYZ*

Andy Faibishenko AFAIBIS@tuc.com
Wed, 29 Nov 2000 14:26:59 -0600


I am porting some code from VBROKER to OmniORB3.  The following doesn't =
compile and I am not sure why.  I've tried tracing through the generated =
headersa and the omniorb headers but I still cannot figure this out.

I have some code which makes a remote CORBA call and stores the resulting =
object reference in a XYZ_var

       XYZ_var  remote =3D remoteCall();

Later on I invoke a method on the XYZ interface through the var:

      remote->invokeMethod();

No problems.

However, in another piece of code, someone does the following (conceptually=
)

     XYZ_var remote =3D remoteCall();

     XYZ * remotePtr =3D remote;

     // do more stuff

     XYZ->invokeMethod();  // THIS LINE DOES NOT COMPILE under OMNI3 but =
compiles under VBROKER

The compiler says invokeMethod() is not part of XYZ, which I confirmed by =
looking at the generated code.  How do I get from XYZ to the _objref_XYZ =
which contains invokeMethod() ?

Thanks,
-Andy