Pues efectivamente, la Delegate de MM no me funciona y la de Steve Webster sí.

Miguel Angel Sánchez escribió:

Gracias Xavi. He visto que en la configuración que tengo en el trabajo con FDT + MTASC, el MTASC no me añade automáticamente la directiva -cp "c:\documents..." para añadir al classpath la ruta de clases de MM, de ahí que me dijera tipo no definido. Revisaré la configuración porque en mi proyecto tengo la carpeta enlazada "Core Library", y supuestamente está en el classpath, ya que está resaltada en azul, y debería incluirla como parámetro en el MTASC.

Ahora al añadirle manualmente el -cp "c:\documents..." y compilar con -mx ya no me da error al compilar Delegate ni EventDispatcher, aunque el ejemplo que puse ayer todavía no lo he probado para ver si funciona o no la Delegate de MM.

Un saludo

Xavi Beumala escribió:

La ruta tiene que ser la carpeta donde estan las classes de macromedia (documents and settings...).

La opción -mx sirve para que MTASC no chequee las clases del package mx.* (las de Macromedia). MTASC, en algunos casos, sigue unas reglas de compilación distintas a las del compilador de MM. Estas reglas de MTASC son más restrictivas que las de MM y hace que en las clases de mx.* hayan un sinfín de 'errores'.

Así que si usas alguna clase de MM tienes que poner el -mx.

Por otro lado el Delegate de MM no te funcionará. Esto es así pq MTASC gestiona las variables de forma distinta. La clase DELEGATE no mantiene una referencia a la función que retorna lo que en MM no da ningun problema, pero con MTASC se pierde la referencia. Para solventarlo tendrás que usar la clase de Steve Webster.

El problema que comentas del EventDispatcher, yo concretamente lo uso bastante y no me ha fallado.

Saludos
X.

Miguel Angel Sánchez wrote:

Joer, soy capullo pero no para tanto xD

He instalado en casa el ASDT en lugar del FDT, ¿me podéis decir qué ruta tenéis en Window->Preferences->ActionScript2->Core Path? Ahí se pone la ruta de clases del MTASC o la del "documents and settings\usuario...", yo tengo puesta la de "documents...", en MTASC y FlashOut

Si compilo sin la opción "-mx" da un error de compilación: "Delegate : line 27: type error Local variable redefinition: func" Si compilo con la opción "-mx" de MTASC compila sin errores pero no funciona el Delegate, y la misma clase compilada desde Flash funciona correctamente.

La clase de pruebas es esta, más simple que un botijo:
<code>
import mx.utils.Delegate;

class Test {

   private var scopeRef:MovieClip;
   private var mc:MovieClip;
   private var tf:TextField;
     function Test(scope:MovieClip) {
scopeRef = scope; scopeRef.createTextField("tf", 0, 100, 100, 800, 600); tf = scopeRef.tf; tf.text = "Hello world"; mc = scopeRef.createEmptyMovieClip("mc", 1);
       mc.lineStyle(1, 0x000000, 100);
       mc.beginFill(0x000000, 100);
       mc.moveTo(0, 0);
       mc.lineTo(100, 0);
       mc.lineTo(100, 100);
       mc.lineTo(0, 100);
       mc.lineTo(0, 0);
mc.endFill(); mc.onRelease = Delegate.create(this, onRelease);
   }
     public function onRelease():Void {
       tf.text = "Bye bye world";
   }
public static function main() { var test:Test = new Test(_root);
   }
}
</code>

Joseba Alonso escribió:

Suena a que no has hecho el import...

Joseba Alonso
www.5dms.com
www.sidedev.net
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Miguel Angel Sánchez
Enviado el: jueves, 15 de septiembre de 2005 14:47
Para: [email protected]
Asunto: Re: [ASNativos] MTASC, EventDispatcher y Delegate

Tan solo con hacer el EventDispatcher.initialize(this) ya me casca :(

Fernando Castillo escribió:

Yo no he tenido ningún problema al respecto.

De todos modos el mensaje de error que te lanza es un poco



mosqueante.
Has comprobado que estás utilizando EventDispatcher de la forma correcta?
Un saludo

Miguel Angel Sánchez wrote:

Hola, estoy estos últimos días 'flipando' con el FDT para



Eclipse, y
compilando mis clases con MTASC. El caso es que me enfrento a mi primer problema con mi nuevo entorno de desarrollo, el uso de las clases Delegate y EventDispatcher.

No sé por qué no son compatibles (creo que es por problema



de strict
typing) con el compilador MTASC. El caso de Delegate lo he solucionado bajándome la versión 1.0.1 modificada por Steve Webster[1], pero con EventDispatcher todavía me estoy peleando.

He visto que hay una directiva -mx en MTASC para usar las



clases del
paquete mx de Macromedia, pero obtengo el mismo error con ella que sin ella:

AudioPlayer.as:40: characters 2-28 : type error Unknown variable EventDispatcher

¿Alguien se ha peleado ya con esto? ¿Alguna sugerencia?

Saludos
---------------------------------------------------------
[1] http://dynamicflash.com/2005/05/delegate-version-101/
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------





----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------




----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------




----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------



----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------

Responder a