Foros del Web » Creando para Internet » Flash y Actionscript »

interfaces y clases

Estas en el tema de interfaces y clases en el foro de Flash y Actionscript en Foros del Web. ola tios estoy creando mis propias librerias de funiones, pero cuando las llamo desde mi pelicula me da los siguientes errores: **Error** C:\Documents and Settings\Manuel ...
  #1 (permalink)  
Antiguo 31/10/2004, 13:27
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 20 años, 9 meses
Puntos: 0
interfaces y clases

ola tios estoy creando mis propias librerias de funiones, pero cuando las llamo desde mi pelicula me da los siguientes errores:

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 7: No hay ninguna propiedad que lleve por nombre 'comboboxTemp'.
comboboxTemp = eval(combobox);

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 8: No hay ninguna propiedad que lleve por nombre 'numArray'.
numArray = array.length;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 9: No hay ninguna propiedad que lleve por nombre 'x'.
for (x=0; x<numArray; x++)

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 10: No hay ningún método que lleve por nombre 'comboboxTemp'.
comboboxTemp.addItemAt(x,array[x]);

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 17: No hay ninguna propiedad que lleve por nombre 'n'.
n = 0;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 18: No hay ninguna propiedad que lleve por nombre 'encontrado'.
encontrado = false;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 19: No hay ninguna propiedad que lleve por nombre 'fin'.
fin = array.length;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 20: No hay ninguna propiedad que lleve por nombre 'encontrado'.
while (encontrado == false || n == fin){

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 21: No hay ninguna propiedad que lleve por nombre 'n'.
if (array[n] == elemento)

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 22: No hay ninguna propiedad que lleve por nombre 'encontrado'.
encontrado = true;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 24: No hay ninguna propiedad que lleve por nombre 'n'.
n++;

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 26: No hay ninguna propiedad que lleve por nombre 'encontrado'.
if (encontrado == true)

**Error** C:\Documents and Settings\Manuel Lara Caro\Escritorio\pa graba\Funciones.as: Línea 27: No hay ninguna propiedad que lleve por nombre 'n'.
return n;

Total de errores de ActionScript: 13 Errores comunicados: 13


el código esta dispuesto de la siugiente forma:

archivo interfazFunciones.as
Código:
interface interfazFunciones{
     function comboboxBD(array:Array, combobox:String);
     function buscarIndice(elemento, array:Array):Number;
}
archivo claseFunciones.as
Código:
class claseFunciones implements interfazFunciones{
     function comboboxBD(array:Array, combobox:String){
	comboboxTemp = eval(combobox);
	numArray = array.length;
	for (x=0; x<numArray; x++)
		comboboxTemp.addItemAt(x,array[x]);
     }

     function buscarIndice(elemento, array:Array):Number{
	n = 0;
	encontrado = false;
	fin = array.length;
	while (encontrado == false || n == fin){
		if  (array[n] == elemento)
			encontrado = true;
		else
			n++;
	}
	if (encontrado == true)
		return n;
	else
		return -1;
     }
}
una llamada en mi pelicula es de la siguiente forma:
Código:
funcionesExternas = new Funciones();
funcionesExternas.comboboxBD(empleados,"Profesional");
donde empleados es el Array que contiene todos los nombres de los empleados y Profesional es el nombre de instancia del combobox
  #2 (permalink)  
Antiguo 31/10/2004, 19:59
Avatar de LOCOHUESOS2  
Fecha de Ingreso: noviembre-2003
Ubicación: Cali - Colombia
Mensajes: 248
Antigüedad: 20 años, 5 meses
Puntos: 0
y yo que pensaba que lo sabia todo ahora no tengo respuestas suerte con tu problema amigo tal vez alguien te ayude
__________________
No creas que eres superior a mi sin antes ver mi trabajo webcol.net
  #3 (permalink)  
Antiguo 31/10/2004, 20:40
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Bueno, Lo que pasa es que no haz declarado las variables que vas a usar en ti clase... Debes de declarar las variables que vas a usar y sus tipos..
si dichas variables seran accecibles desde cualquier metodo o son propias del metodo.. si son propias del metodo el siguiente codigo funciona

Código:
class ejemplo {
        //constructor
	function ejemplo() {
	}
        //Metodo que recibe un array, imprime sus elementos y lo regresa
	function back(array:Array):Array {
		trace("Ejecutando Metodo Back");
		var miArray:Array = array;
		for (var a in miArray) {
			trace(miArray[a]);
		}
		return array;
	}
}
Al usar var miArray:Array = array; estamos declando una variable que solo sera accesible al momento de ejecutar el metodo una vez que el metodo termine la variable sera eliminada...

Ahora si lo que quieres es hacer tu variable "publica" debes declararla dentro del la clase para poder accedera ella desde cualquier metodo, entonces el codigo quedaria asi:

Código:
class ejemplo {
	//Declaramos la variable 
        var miArray = [];
        //constructor
	function ejemplo() {
	}
        //Metodo que asigna el valor del parametro a la variable miArray 
	function back(array:Array):Array {
		trace("Ejecutando ");
		this.miArray = array;
		for (var a in this.miArray) {
			trace(this.miArray[a]);
		}
		return array;
	}
}
Con esto la variable miArray estara disponible en cualquier otro metodo, haciendo referencia e ella como this.miArray...
Ahh y para ejecutar dicha clase:

Código:
var o:ejemplo = new ejemplo();
o.back([1,2,3,4,5,6,7,8,9])
Me explico..
  #4 (permalink)  
Antiguo 04/11/2004, 12:20
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 20 años, 9 meses
Puntos: 0
perfecto tio, prove a declar las variables y ya rula
  #5 (permalink)  
Antiguo 04/11/2004, 12:24
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:42.