De fmx2004 y componentes

Una pruebita.
hacer un MovieClip a la antigua, ya saben un círculo o lo que sea, F8, check en movieClip y aceptar; ponerlo en el escenario, ponerle nombre de instancia (clip en mi caso), en la línea de tiempo principal poner esto
[code]
trace(clip.createObject);
[/code]

en el output se vé undefined, obviamente porque es una función de UIObject y mi clip no tiene parentezco aún con este señor.

Pero no por mucho tiempo...

En el panel de componentes seleccionar un botón y arrastrarlo al escenario, esto agregará el componente de botón a la librería de nuestra movie, luego de esto podemos borrar el botón.

probar la película de nuevo.

Esta vez el output muestra [type Function].

De alguna manera el UIObject metío sus funciones en el proto de MovieClip.

En teoría una instancia de una clase hereda las características (métodos, etc) de esta.
En teoría una clase que extiende a otra, hereda las características de esta, no la modifica.

Lo anterior ocurrió cuando estábamos (roger y yo ) evaluando la posibilidad de usar los componentes para la nueva versión de computadora.de.

Comentándolo luego con fer, este me informó que era un comportamiento de sólo algunos componentes


5 Comments

Fernando said:

Yup. Igual pasa con la clase de DataProvider.

http://blog.funciton.com/en/archives/000183.php

Fernando

Fernando said:

Ahora ya se porque esto ha sido asi.

Primero que nada lo del dataprovider. Esto se hizo para permitir a los usuarios de componentes que tengan los metodos del dataprovider en los arrays y asi facilitar el trabajo de arrays y componentes.

El componente tree o menu hacen este tipo de jugada (mixin) con la clase XMLNode para asi facilitar el trabajo como con el dataProvider.

Porque se incluyo este mixin en los movieclips, pues es porque si no se hubiera hecho esto entonces los movieclips para los skins de los componentes tendrian que ser componentes tambien.

Fiuu... :)

Fernando said:

oopss! mi error, deberia ser 'decorating' en vez de 'mixin'

kada said:

gracias por la aclaracion fer =)

nico said:

Muy buena la explicación.


saludos