as a side note, someone on the player team did think this was a bug before i
logged it post i escalated it to people who know more people than i do :)

On 9/27/07, Johannes Nel <[EMAIL PROTECTED]> wrote:
>
> var mo:MyOther = new MyOther();
> var mp:MyProxy = new MyProxy();
> mo.nextfunction = mp['go']
>
> this is a very good point.
>
>
>
> On 9/27/07, actionscript_czar <[EMAIL PROTECTED] > wrote:
> >
> >   This doesn't seem to be a bug to me, just looking at it from a
> > limited perspective.
> >
> > Image a class that lookes like this:
> >
> > class MyClass
> > {
> > public var go:Function;
> >
> > public function MyClass( goFunc:Function )
> > {
> > this.go = goFunc;
> > }
> > }
> >
> > In this case go is a property that happens to be a function object.
> > So what if using your proxy with another class you did something like
> > this:
> >
> > var mo:MyOther = new MyOther();
> > var mp:MyProxy = new MyProxy();
> > mo.nextfunction = mp['go']; // could also be mp.go
> >
> > In that case it would use getProperty and your description is no
> > different. When you use the [] operators it gets the property then
> > you use the () operators to call the property. The () property is
> > expecting a function object on the left hand side. The reason it
> > doesn't use callProperty is because the () operators only see a
> > function object but don't see it as part of the MyProxy object.
> >
> > This doesn't mean it couldn't work as you expect in the future, but
> > my understanding says the two methods of getting to go are processed
> > distinctly for a reason.
> >
> > --- In [email protected] <flexcoders%40yahoogroups.com>, "Derek
> > Vadneau" <[EMAIL PROTECTED]>
> >
> > wrote:
> > >
> > > There seems to be a bug in flash.utils.Proxy. Here's some sample
> > code:
> > >
> > > var mp:MyProxy = new MyProxy();
> > >
> > > mp.myVar = 'something'; // calls flash_proxy setProperty as expected
> > >
> > > mp['myVar'] = 'something'; // calls flash_proxy setProperty as
> > expected
> > >
> > > mp.go(); // calls flash_proxy callProperty as expected
> > >
> > > mp['go'](); // calls flash_proxy getProperty - NOT expected
> > >
> > > Why is getProperty called where the [] operator is used instead of
> > the
> > > . operator in the case where a function is being called, but not
> > when
> > > setting a property?
> > >
> > > And in that case you MUST return a function or a runtime error will
> > be thrown.
> > >
> > > This is unexpected behaviour, as far as I can see.
> > >
> > > Another example:
> > >
> > > mp.obj.go();
> > >
> > > mp['obj']['go'](); // getProperty is called twice, callProperty is
> > NOT
> > > called at all
> > >
> > > The issue is that I am dealing with a dynamic API, so I don't always
> > > know that 'obj' or 'go' is a property vs. a method.
> > >
> > > But, because the getProperty is called when a callProperty should be
> > > called I am passing an instance of my Proxy class and a runtime
> > error
> > > is thrown.
> > >
> > > --
> > >
> > > Derek Vadneau
> > >
> >
> >  
> >
>
>
>
> --
> j:pn
> \\no comment




-- 
j:pn
\\no comment

Reply via email to