[omniORB] Passing a Sequence from Python to C++

EntonH entonh at gmx.de
Tue Feb 19 07:22:53 GMT 2008


Hello again,

the error I posted before solved itself so I didn't change anything in the
code?!

When I call the init-function like you suggested
(obj.init(CORBA.Any((CORBA.TypeCode(ParSeq),list_all))))
I retrieve a BAD_PARAM_WrongPythonType error?!

When I call it like obj.init(list_all) the BAD_PARAM error is gone
but instead I get the following error:
COMM_FAILURE: Minor: COMM_FAILURE_WaitingForReply, COMPLETED_MAYBE.

Why I don't have to cast my list_all into an Any although it is defined in
the idl-file: any init(in any list_all)

When is the COMM_FAILURE error thrown or where does it come from?

Do you have any ideas?

For your information: 
I also wrote an application in C++ that uses the same idl-File. Everything
works just fine there, so ich can call my dll-File...this is so strange...
:-/

Greetings,
EntonH



Duncan Grisby wrote:
> 
> 
> This is the problem. You're setting the value in the struct to an Any
> that itself claims to contain an Any, but you've put in a list of param
> structs. It will work if you use idlfile._tc_ParSeq, which is the
> TypeCode of your ParSeq typedef.
> 
> This seems like a very contrived and complex example.
> 
> Duncan.
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Passing-a-Sequence-from-Python-to-C%2B%2B-tp15495850p15560540.html
Sent from the OmniORB - User mailing list archive at Nabble.com.




More information about the omniORB-list mailing list