[omniORB] cannot marshal a null fixed

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Tue Mar 11 14:55:02 2003


Duncan,
    got it, excellent support as usual. Thank you very much,

Renzo Tomaselli

----- Original Message ----- 
From: "Duncan Grisby" <duncan@grisby.org>
To: "Renzo Tomaselli" <renzo.tomaselli@tecnotp.it>
Cc: "Omniorb list" <omniorb-list@realvnc.com>
Sent: Tuesday, March 11, 2003 2:05 PM
Subject: Re: [omniORB] cannot marshal a null fixed 


> On Monday 10 March, "Renzo Tomaselli" wrote:
> 
> > this sounds strange. All of:
> > 
> > CORBA::Fixed f;
> > CORBA::Fixed f(0);
> > CORBA::Fixed f("0");
> > 
> > etc. yield the same null fixed, thus they are invalid.
> 
> There is nothing invalid (or null) about them. However, fixed point
> values can only be sent through an IDL interface if either the IDL
> declares a specific fixed point type, with specific limits, or if you
> put it in an any.
> 
> To put it in an any, you need a typecode; it is illegal to have a
> typecode specifying a fixed with zero digits, just as it is illegal to
> write IDL that says typedef fixed<0,0> MyFixed. If you are generating
> a typecode, either explicitly or implicitly with
> CORBA::Any::from_fixed, it is up to you to make sure it is legal.
> 
> I've attached a simple client and server that demonstrate that it is
> fine to send zero as a fixed point value.
> 
> Cheers,
> 
> Duncan.
> 
>