Hi Daniel ( its been a while ;-) )
Daniel Boelzle wrote:
Hello Jayant Balraj Madavi,
just tried the following which works like specified:
uno::Any a( static_cast<sal_Int32>(42) );
uno::Sequence<uno::Any> seq( &a, 1 );
typedef uno::Sequence< uno::Sequence<uno::Any> > seqseqT;
seqseqT seqseq( &seq, 1 );
uno::Any a2;
a2 <<= seqseq;
seqseqT dest;
bool succ = (a2 >>= dest);
sal_Int32 n = dest[0][0].get<sal_Int32>();
This leads me to the assumption that the Any is not filled with data at
all in getValue().
regards,
-Daniel
looking at this, seems this is really a basic problem ( bug? ).
the basic code is something like;
Dim obj1 as myModule.XSomething
Dim obj2 as myModule.XSomething
obj1.Value = obj2.Value
where obj1 & obj2 are uno objects with Value as an attribute e.g.
module myModule
{
interface XSomething
{
[attribute] any Value;
}
}
the code ( in a previous posting ) getValue() returns an uno::Any
containing uno::Sequence< uno::Sequence< uno::Any > > and of course
setValue() takes a ref to an uno::Any containing uno::Sequence<
uno::Sequence< uno::Any > >
this fails because when Basic unwraps the any it converts it into a
sequence of sequence of ( the type the Any contains )
so for example in the code that Jayant posted the sequence in question is
uno::Sequence< uno::Sequence< uno::Any > > where the Any contains a
rtl::OUString
.
then setValue() fails because it is sent a
uno::Sequence< uno::Sequence< rtl::OUString> > by Basic instead of the
expected type and of course the test mentioned fails.... because it should.
Noel
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]