Comunidad de diseño web y desarrollo en internet online

Crear instancia mediante String

Citar            
MensajeEscrito el 10 Ene 2008 07:23 pm
Hola foro

Cuando uso getDefinitionByName para sacar la referencia de una clase mia, me da el sig error.
ReferenceError: Error #1065: No se ha definido la variable ll.
at global/flash.utils::getDefinitionByName()
at main_fla::MainTimeline/main_fla::frame1()

este el el codigo

Código :

import a.ll;
import flash.utils.getDefinitionByName;

var t = getDefinitionByName("a.ll") as Class;

Código :

package a
{
   public class ll
   {
      public function ll()
      {
         //Constructor
      }
   }
}

:?
salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 11 Ene 2008 10:21 am
Hola Joris,
te da el error porque para poder utilizar getDefinitionByName tienes que tener como mínimo una instancia de la clase a la que quieres acceder:

Código :

import a.ll;
import flash.utils.getDefinitionByName;

var my_ll:ll = new ll();  // Declarar una instancia
var t = getDefinitionByName("a.ll") as Class;
trace(t)  // muestra [class ll]


Un saludo

Por llops

294 de clabLevel

1 tutorial

 

Barcelona

firefox
Citar            
MensajeEscrito el 11 Ene 2008 02:09 pm
Es que realmente la gracia estaria en no tener que instanciarla.. imaginate que tenga que repetir esa linea tantas veces = cantidad de clases que quiera sacar... mira, eh puesto un clip de pelicula, exportado para un clase que no existe, sin embargo, al querer sustraerle una instancias mediante getDefinitionByName no da error, es decir, supongo que debe haber una manera de registrar esas clases para cuando quiera sacarla mediante getDefinitionByName, vamos a ver que puedo encontrar.

salu2 y gracias por la respuesta.! ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 11 Ene 2008 02:57 pm
:shock:
estaban mal mis lineas....

Código :

import a.ll;
import flash.utils.getDefinitionByName;
var t : Class = getDefinitionByName("a.ll") as Class;
var unObjeto : IObjeto = new t(); //Instancia real,
unObjeto.unMetodo();

En el codigo si no pones la linea 4, da error, sin embargo, si haces uso de la instancia t [linea 5] deja de dar problemas .!! :shock:

uff..
salu2 ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 11 Ene 2008 04:05 pm
Joris te recomiendo busques información acerca del patrón Factory.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 11 Ene 2008 05:01 pm
jejejej, estas en sintonia Dano, ahora mismo estaba hojeando un pdf con dicho patron..!
;-)
salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.