I am guessing it must be something basic we are overlooking. I have
numerous nested VOs and ArrayCollection's of VO's that get returned
from PHP with no problem. As long as both the RemoteClass tag AND
the $_explicitType variable are exactly the same and both point to
the server location where the VO lives, then everything seems to map
correctly. Here are the things I would check:
1) your remote class & explicit type tags.
2) are you casting the return from php correctly in Flex (ie var
myAC:ArrayCollection = new ArrayCollection(data.result as Array) )
3) Are your class properties named exactly the same (although this
seems to not throw and error even when they aren't exact???)
Check those and see if any of them solve your problem. otherwise
post your handler code so that we can see how you are handling the
results.
- Kevin
On Mar 21, 2007, at 10:29 AM, thuijzer wrote:
Kevin, thank you for your response.
Unfortunately it doesn't work. It also seems that this META is only
used for Array's. So I am not sure it will work in my case.
Thomas
--- In [email protected], Kevin <[EMAIL PROTECTED]> wrote:
>
> you may need to use this meta tag to let Flex know what is in the
> ArrayCollection
>
> [ArrayElementType("com.app.classes.MyClassObj")] //(I am not sure if
> that is YOUR correct path in Flex??)
> public var list: ArrayCollection;
>
> I hope that does the trick. I have gotten it to work in AMFPHP 1.9.
>
> - Kevin
>
>
>
> On Mar 21, 2007, at 9:42 AM, Thomas Huijzer wrote:
>
> > Hi All,
> >
> > With AMFPHP 1.9 I am trying to return an Object containing some
> > vars and an ArrayCollection. Inside this ArrayCollection there are
> > other Objects. But I can't get this to work in Flex.
> > For example:
> > ----------------
> > Flex class
> > ----------------
> > package com.app.classes
> > {
> > import mx.collections.ArrayCollection;
> >
> > [RemoteClass (alias="com.app.classes.RemoteClass")]
> > public class MyClass
> > {
> > public var id: Number;
> > public var list: ArrayCollection;
> > }
> > }
> >
> > package com.app.classes
> > {
> > [RemoteClass (alias="com.app.classes.RemoteClassObj")]
> > public class MyClassObj
> > {
> > public var id: Number;
> > public var name: String;
> > }
> > }
> > ----------------
> > PHP class
> > ----------------
> > class MyClass
> > {
> > var $id;
> > var $list;
> > }
> > class MyClassObj
> > {
> > var $id;
> > var $name;
> > }
> > function getData()
> > {
> > $data = new MyClass;
> > $data->id = 1;
> > $data->list = array();
> > $data->list[0] = new MyClassObj;
> > $data->list[0]->id = 2;
> > $data->list[0]->name = "myName";
> > return $data;
> > }
> >
> > When I return this to Flex, the MyClass is filled ok. By the list
> > coercion fails.
> > Any idea to solve this problem?
> > Thank you.
> >
> >
> > Need Mail bonding?
> > Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers
users.
> >
> >
>