[omniORB] about get _out from _ptr(object reference)
zhang ji
zsfunl@yahoo.com
Sun, 21 Apr 2002 15:14:43 -0700 (PDT)
Hi Bjorn,
Thanks for your reply!
It happened like below situation:
"
interface test{
double add();
};
typedef sequence<test> testseq;
interface testfactory{
test gettest(in double x, in double y, out
test ret);
};
"
when the function gettest() want to get one interface
as out parameter.
The omniidl generated siganature like below:
"
virtual test_ptr gettest(CORBA::Double x,
CORBA::Double y, _CORBA_ObjRef_OUT_a
rg< _objref_test, test_Helper > ret) = 0;
"
while it also defined:
"
typedef _CORBA_ObjRef_OUT_arg<_objref_test,test_Helper
> test_out;
"
That is why I used test_out in the implementaion
class.
As the situation in my last email,I have one testseq
*_ptr[10] which contains 10 test object reference and
I try to use belwo 3 methods to transfer the object
reference from the _ptr[i] to the _out:
1. *_out = *_ptr[i]
compiler will complain "
_CORBA_ObjRef_OUT_arg<_objref_test,
test_Helper>::T_out
&_CORBA_ObjRef_OUT_arg<_objref_test,
test_Helper>::operator=(const
_CORBA_ObjRef_OUT_arg<_objref_test,
test_Helper>::T_element &)" is inaccessible.
*_out = *_ptr[i];
^
2.*_out = *_ptr[i].out();
It seemed it still can not work(I got the nil object
reference in the client side)
3.*_out = *_ptr.inout().
It works!
So I think there should be some problem inside my code
or omniORB.
Thanks,
Shifeng
Below is last email:
Hi Shifeng,
The _out types look like internal omniORB types
to me, i do not think, you should use those. Did
you find these types in the skeleton/stub code, or
did omniidl generate example code containing these
types?
Yours sincerely,
bjorn
zhang ji wrote:
>
> Hi,
>
> Below is one signature of implementation class
> function:
>
> CORBA::Boolean FeatureArray::next(Feature_out
> featureout)
>
> I have one variant like:
> Feature_ptr featureptr;
>
> My questions is how to get the Feature_out from
> Feature_ptr?
>
> "featureout = (Feature_out) featureptr" seemed
return
> one nil object reference.
>
> Thanks,
> Shifeng
__________________________________________________
Do You Yahoo!?
Yahoo! Games - play chess, backgammon, pool and more
http://games.yahoo.com/