En mi estructura de classPath separo en dos grandes grupos: as y com. Utilizo com.* (regla universal) para designar las clases espec�ficas de proyectos o productos espec�ficos y as.* para clases no espec�ficas y que pueden reutilizarse en la mayor�a del resto de proyectos. En ocasiones especiales y clases "de autor" tambi�n conviene a�adir estas clases a com.* para evitar cualquier problema de autor�a (com.robertpenner.*, por ejemplo) en un futuro.
Las subdivisiones dentro de esos dos grupos son cuesti�n de cada uno. Mientras yo tengo en as.* subcarpetas como as.errors y as.if --excepciones e interfaces-- Xavi a�ade otro tipo de subdivisiones como dataTypes y system. A veces es bueno que entre gente que pueda "traficar" con clases se mantenga la misma estructura a f�n de que no existan problemas con el import y las relaciones entre clases. Cuanto m�s tiempo pases del classPath, peor ser� luego el orden dentro de las clases y m�s co�azo ser� el mantenimiento de las clases. Quiz�s podr�amos pensar entre todos un est�ndar de classPath para, m�s adelante, poder intercambiarnos clases m�s f�cilmente. A la hora de trabajar con el classPath tan s�lo necesitas uno (definido en las preferencias del mismo flash) que mantiene todas las clases. De esta forma, siempre tendr�s todas las clases anteriores disponibles para un nuevo proyecto. Puede parecer un poco ca�tico al principio pero al final merece la pena :) M. -----Mensaje original----- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Carlos Terradillos Guti�rrez Enviado el: viernes, 13 de febrero de 2004 13:00 Para: [EMAIL PROTECTED] Asunto: RE: [ASNativos] POO y orden, orden, orden... // antes: Acceso a miembros est�ticos desde otra clase. Bueno, me he adelantado, dec�a que funcionaba porque no daba error pero funcionar, no funciona. Incluso con el import en su lugar correcto. Ya ver�. Me tiene intrigado eso del classPath que ya habi�is comentado Xavi y t�. Viene a ser como una estructura de directorios en los que se organizan las clases. Me imagino que el nombre de cada clase debe incluir su ruta. Pero, siendo las clases te�ricamente reutilizables qu� haces �copias el classpath a cada nuevo directorio de proyecto, se centraliza de alg�n modo? Estoy m�s confuso que la leche con esto de la poo. No s� como organizar correctamente todo el tinglado. En principio pensaba que lo mejor era crear una clase para cada mc (o lo que sea) y centralizar la composici�n del interactivo en el fla. El problema es que las clases se me hacen grandes y desde luego nada reutilizables. Si las hago livianas luego tengo que ir sumando clases y finalmente utilizarlas en el fla. Supongo que es lo suyo pero el fla siempre tiene una buena porci�n de c�digo. Necesitar�a una introducci�n sobre este tema �c�mo plantear proyectos flash con poo? La pregunta del mill�n me temo. �D�nde puedo encontrar informaci�n sobre esto? Saludos y gracias por todo. > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Manuel de > la Higuera > Enviado el: viernes, 13 de febrero de 2004 12:05 > Para: [EMAIL PROTECTED] > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde otra clase. > > > Me extra�a que haga eso sin importar la clase de ninguna forma. Si > tienes la clase est�tica importada en el fla imagino que no debe darte > problemas --por la forma que tiene flash de estructurar las clases as2 > en el swf-- pero me sorprende que funcione sin hacer referencia a > ella. > > Suelo utilizar exclusivamente las clases del classPath, �es > una ventaja > de las clases fuera del classPath? > > > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > En nombre de Carlos Terradillos Guti�rrez > Enviado el: viernes, 13 de febrero de 2004 12:01 > Para: [EMAIL PROTECTED] > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde otra clase. > > > Puffff!!! > > Resulta que funciona si le quito el import... > > class Prueba { > // import Elastic; > var x:Number; > function Mover():Void{ > x = Elastic.easeInOut(5,5,5,5); > }; > } > > > -----Mensaje original----- > > De: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] En nombre de Carlos > > Terradillos Guti�rrez Enviado el: viernes, 13 de febrero de 2004 > > 11:42 > > Para: [EMAIL PROTECTED] > > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde > otra clase. > > > > > > Se me ocurren un mont�n de preguntas... pero voy a centrarme en el > > tema. > > > > Tengo una estructura de directorios tan simple como esto: > > > > Fla+clases > > | > > | > > Directorio_Clases > > | > > | > > clase1+clase2+... > > > > Las clases de este directorio son las de easing de R. > Penner. Lo �nico > > > que les he modificado era su nombre-ruta de tal modo que > solo queda su > > nombre: p.e. Elastic. > > > > Todos los miembros de las clases de easing son est�ticos. > > > > La ruta est� definida en el fla. > > > > Bien, como dec�a si desde el fla llamo directamente a un > m�todo de una > > > clase como Elastic, funciona sin problemas: > > > > x = Elastic.easeInOut(...); > > > > Ahora bien, si desde una de las clases de nivel fla llamo a > esa misma > > clase con Directorio_Clases.clase1.metodo1() pu�s me da el > error ese > > de que las clases no coinciden (la pedida y la encontrada). > > > > Me imagino que es porque en el nombre de la clase a importar debo > > poner la ruta as�: > > > > Directorio_Clase.clase1 y no s�lo clase1 > > > > Entonces s� que parece reconocer la ruta y la clase pero...pu�s no > > pod�a ser tan f�cil!!! > > > > Ahora el error es otro: > > > > **Error** E:\proyecto\clase.as: L�nea 9: No se admiten declaraciones > > de importaci�n en definiciones de clase o interfaz. > > import Elastic; > > > > Esto ya no tiene que ver con las rutas. De hecho simplifico > el tema y > > coloco todas las clases en la misma ruta y nombre �nicamente de la > > clase. El error es el mismo. > > > > Es muy fuerte esto de que "No se admiten declaraciones de > > importaci�n en definiciones de clase o interfaz." �no? > > > > �El c�digo? > > > > class Prueba { > > import Elastic; > > var x:Number; > > function Mover():Void{ > > x = Elastic.easeInOut(5,5,5,5); > > } > > } > > > > > > > > > -----Mensaje original----- > > > De: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] En nombre de Manuel de la > > > Higuera Enviado el: viernes, 13 de febrero de 2004 0:40 > > > Para: [EMAIL PROTECTED] > > > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde > > otra clase. > > > > > > > > > La composici�n de clases es crear una clase nueva a partir de > > > otras que al principio pueden resultar inconexas. > > > > > > Muchas veces puede ser interesante tener esa clase hecha en AS2 > > > (por ej: coche = ruedas + volante + ...) pero la mayor�a de las > > > veces la composici�n pasa a hacerse, por comodidad supongo, > > directamente en el > > > mismo fla. > > > > > > Si desde el fla no te da problema y desde otra clase s�, es > > > posible que se trate de un tema de rutas. Si tienes los archivos > > > .as en el classPath > > > no deber�a saltar ning�n error con el c�digo anterior, > pero creo que > > > puede surgir alg�n problema cuando tienes uno de ellos en el > > > classPath y > > > el otro en un directorio dependiente del fla. > > > > > > Env�a el c�digo si quieres y le echamos un ojo entre todos :) > > > > > > M. > > > > > > > > > > > > -----Mensaje original----- > > > De: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] > > > En nombre de Carlos Terradillos Guti�rrez > > > Enviado el: jueves, 12 de febrero de 2004 23:10 > > > Para: [EMAIL PROTECTED] > > > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde > > otra clase. > > > > > > > > > Bien, las relaciones entre clases desde las clases. > > > La composici�n de clases �qu� es? > > > > > > Por otro lado, mi caso concreto es la llamada a un m�todo > > est�tico de > > > una determinada clase. Si lo hago desde el fla no hay > > problema, si lo > > > hago desde otra clase s�: es cuando me da ese error. > > > > > > Tendr� que revisar, o mejor aislar el problema a ver si > > descubro qu� > > > pasa. > > > > > > Saludos. > > > > > > :��: croma2 :������������������������: > > > : Carlos Terradillos Guti�rrez : > > > :::::::::::::::::::::::::::::::::::::: > > > > > > > > > > > El import es independiente para cada clase en AS2 y tambi�n del > > > > IDE. Las relaciones entre clases en AS2 --no as� la > composici�n de > > > > clases-- deben > > > > estar hechas a partir del c�digo en AS2 y no a expensas > de un fla. > > > > > > > > Si a pesar de hacer funcionar los .as independientemente > > > (el check de > > > > sintaxis eval�a si es correcto o no, independientemente > > de d�nde y > > > > c�mo tengas el .fla) el IDE sigue grit�ndote, quiz�s > s�lo sea un > > > > problema de rutas o de nombres. > > > > > > > > O est� teniendo un comportamiento extra�o en tu situaci�n > > > concreta... > > > > �C�mo vinculas las clases en el fla? > > > > > > > > M. > > > > > > > > > > > > > > > > > > > > > > > > -----Mensaje original----- > > > > De: [EMAIL PROTECTED] > > > > [mailto:[EMAIL PROTECTED] > > > > En nombre de Carlos Terradillos Guti�rrez > > > > Enviado el: jueves, 12 de febrero de 2004 21:14 > > > > Para: [EMAIL PROTECTED] > > > > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde > > > otra clase. > > > > > > > > > > > > Me responde con que: > > > > > > > > La clase que se est� compilando, 'Clase', no coincide con > > > la clase que > > > > > > > se import�, 'ruta.Clase'... > > > > > > > > Esa misma ruta la tengo definida en el fla. > > > > > > > > �? > > > > > > > > > -----Mensaje original----- > > > > > De: [EMAIL PROTECTED] > > > > > [mailto:[EMAIL PROTECTED] En nombre de > > Manuel de la > > > > > Higuera Enviado el: jueves, 12 de febrero de 2004 20:16 > > > > > Para: [EMAIL PROTECTED] > > > > > Asunto: RE: [ASNativos] Acceso a miembros est�ticos desde > > > > otra clase. > > > > > > > > > > > > > > > Puedes acceder a un miembro est�tico de una clase > > > > importando la clase > > > > > est�tica desde la clase "normal" de forma: > > > > > > > > > > import classpath.estatica.Clase > > > > > > > > > > Y para llamar al m�todo/propiedad s�lo necesitas: > > > > > > > > > > Clase.metodo() > > > > > Clase.propiedad > > > > > > > > > > M. > > > > > > > > > > > > > > > -----Mensaje original----- > > > > > De: [EMAIL PROTECTED] > > > > > [mailto:[EMAIL PROTECTED] > > > > > En nombre de Carlos > > > > > Terradillos Guti�rrez > > > > > Enviado el: jueves, 12 de febrero de 2004 20:13 > > > > > Para: ASNativos > > > > > Asunto: [ASNativos] Acceso a miembros est�ticos desde > > otra clase. > > > > > > > > > > > > > > > ... En AS2: > > > > > > > > > > El tema es �c�mo accedo a un miembro est�tico de una clase > > > > desde otra > > > > > clase (que adem�s est� en otro directorio)? > > > > > > > > > > Saludos. > > > > > <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos --------------------------------> <!------------------------------- Lista ASNativos: subscripciones/desubscripciones http://www.sidedev.net/asnativos -------------------------------->
