2742 votos

Flash CS4 se niega a dejar ir

Tengo un proyecto de Flash, y tiene muchos archivos de origen. Tengo una bastante intensivo de la clase, lo llaman Jenine. Yo recientemente (y, tal vez, de forma insensible) trasladó Jenine de uno a otro espacio de nombres. Pensé que estábamos listos - pensé que era el momento. El nuevo Jenine fue mejor en todos los sentidos - ella había perdido algo de código hinchazón, ella se había desvinculado de sí misma a partir de unos pocos vestigios de la clase de relaciones, y ella había llegado por fin a casa para el espacio de nombres que ella siempre había secretamente conocidos en su corazón era el que ella verdaderamente le pertenecía. Ella estaba entre los de su propia especie.

Por desgracia, Flash no haría nada de eso. Tal vez se había formado un archivo adjunto. Tal vez no quieren Jenine a ser desacoplados. De cualquier manera, se aferra a la vieja, la versión perfecta de Jenine en su memoria. Ella se negó a moverse. Se hizo caso omiso de su función de llamadas. Trató de olvidarse de su nuevo interfaces públicas. En su lugar, cada instancia de Jenine que se construyó fue siempre una copia de la versión anterior, hasta su classpath:

var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!

Hemos luchado. No estoy orgulloso de algunas de las cosas que dijo o hizo. En el final, en un imponente ataque de ira, he eliminado todas las referencias de Jenine completamente. Ella fue absolutamente, completamente borrada del sistema. Mi cursor cayó sobre la "Vaciar Papelera" opción de menú como el frío de la tapa de un ataúd.

No creo que Flash nunca se recuperó. Para el día de hoy todavía se aferra a la memoria de Jenine. Su edad, el imperfecto definiciones aún flotar a través de mi proyecto como abandonado fantasmas. Siempre que me de la fuerza de Flash para compilar, todavía amorosamente inserta en mi película, enclavado su definición entre los otros, que viven de las clases, como un pequeño santuario. Me pregunto si pueden verla.

Flash y la verdad no me hable más. Escribo mi código, que compila. Hay una chica nueva en la ciudad con nombre de Verano que se ve casi idéntica a Jenine, como si alguien hubiera acaba de copiar su código fuente mayorista en una nueva clase, pero Flash no se ha demostrado ningún tipo de interés. La mayoría de los días sólo lloriquea alrededor y escribe mal la poesía en mis comentarios cuando se piensa que no estoy buscando.

Espero que nadie más ha tenido una experiencia similar, que esto es sólo un singular, doloroso ondulación en la horrible oscuridad de la laguna que es el Flash de la base de código. Si, por alguna casualidad oportunidad que usted tiene, o tiene alguna idea de cómo borrar lo que sea maldito de la caché de el compilador que va a utilizar, por favor, por favor ayuda.

703voto

murzeb Puntos 6226

Flash conserva el archivo ASO, que es el código compilado byte para tus clases. En Windows, puede ver los archivos ASO aquí:

C:\Documents and Settings\username\Local Settings\Application Data\Adobe\Flash CS4\en\Configuration\Classes\aso

En un Mac, la estructura de directorios es similar en /Users/username/Library/Application Support/


Puede eliminar estos archivos manualmente, o en Flash se puede seleccionar Control->Delete ASO files para eliminarlos.

197voto

Magocto Puntos 1707

Intenta eliminar los archivos ASO.

ASO archivos son almacenados en memoria caché versiones compiladas de tus archivos de clase. Aunque el IDE es que mucho mejor en soltar cachés de antaño cuando se realizan cambios, a veces tienes que borrarlas manualmente. Eliminar los archivos ASO: Control > borrar archivos ASO.

Esto también es la causa del fallo "I-am-not-seeing-my-changes-so-let-me-add-a-trace-now-everything-works" que fue introducido en CS3.

165voto

Rodrigo Strauss Puntos 1607

¿Qué pasa si se compila usando otra máquina? Una nueva versión instalada sería maravilloso. Espero que su máquina no es celoso.

125voto

Laurie Cheers Puntos 1243

Yo he encontrado una relacionada con el comportamiento que pueden ayudar, suena como su específica problema es más profundo, aunque):

Flash comprueba si un archivo de origen necesita recompilar mirando las marcas de tiempo. Si su versión compilada es mayor que el archivo de origen, que se vuelva a compilar. Pero no comprueba si la versión compilada fue generada a partir del mismo archivo de origen o no.

En concreto, si tiene los archivos de actionscript bajo el control de versiones, y Revertir un cambio, revertidas archivo se suele tener una edad de marca de hora, y Flash se ignoran.

103voto

Arpit Puntos 1569

Además, para usar su nueva clase de namespaced también se puede hacer

var jenine:com.newnamespace.subspace.Jenine = com.newnamespace.subspace.Jenine()

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X