Eu tenho um projeto em Flash e ele tem muitos arquivos de origem. Eu tenho uma aula bastante usada, chame Jenine. Recentemente (e, talvez, insensivelmente), mudei Jenine de um espaço para nome para outro. Eu pensei que estávamos prontos - pensei que era hora. A nova Jenine era melhor em todos os sentidos - ela havia perdido algum código, se separou de algumas relações de classe vestigiais e finalmente chegou em casa no espaço de nome que sempre soube secretamente em seu coração que ela realmente pertencia a. Ela estava entre sua própria espécie.
Infelizmente, o Flash não teria nada disso. Talvez tivesse formado um apego. Talvez não quisesse que Jenine fosse dissociada. De qualquer maneira, ele se apegou à versão antiga e perfeita de Jenine em sua memória. Ele se recusou a seguir em frente. Ele ignorou as chamadas dela (função). Tentou esquecer suas novas interfaces públicas. Em vez disso, todas as instâncias de Jenine que ele construiu sempre foram uma cópia da versão antiga, até o caminho da classe:
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!
Lutamos. Não tenho orgulho de algumas das coisas que disse ou fiz. No final, em um ataque imenso de raiva, eu apaguei todas as referências de Jenine completamente. Ela foi completamente apagada do sistema. Meu cursor caiu na opção de menu "Esvaziar Lixo", como a tampa fria de um caixão.
Acho que o Flash nunca se recuperou. Até hoje, ainda se apega à memória de Jenine. Suas definições antigas e imperfeitas ainda flutuam no meu projeto como fantasmas abandonados. Sempre que forço o Flash a compilar, ele ainda a insere amorosamente no meu filme, aninhando sua definição entre as outras classes vivas, como um pequeno santuário. Eu me pergunto se eles podem vê-la.
Flash e eu realmente não falamos mais. Eu escrevo meu código, ele o compila. Há uma garota nova na cidade chamada Summer que parece quase idêntica a Jenine, como se alguém tivesse copiado seu código-fonte por atacado para uma nova classe, mas o Flash não demonstrou nenhum interesse. Na maioria dos dias, ele fica pensando e escrevendo poesia ruim nos meus comentários quando pensa que não estou olhando.
Espero que ninguém mais tenha tido uma experiência semelhante, que essa seja apenas uma onda singular e dolorosa na horrível lagoa escura que é a base de código do Flash. Alguém tem alguma idéia de como apagar o cache que o compilador está usando?
Tente excluir seus arquivos ASO.
Os arquivos ASO são versões compiladas em cache dos seus arquivos de classe. Embora o IDE seja muito melhor para liberar caches antigos quando as alterações são feitas, às vezes você precisa excluí-los manualmente. Para excluir arquivos ASO: Controle> Excluir arquivos ASO.
Essa também é a causa do erro "Não estou vendo minhas alterações, então deixe-me adicionar um rastreio agora tudo funciona" que foi introduzido no CS3.
fonte
E se você o compilar usando outra máquina? Um novo instalado seria adorável. Espero que sua máquina não seja ciumenta.
fonte
Eu encontrei um comportamento relacionado que pode ajudar (parece que seu problema específico é mais profundo):
O Flash verifica se um arquivo de origem precisa ser recompilado observando os registros de data e hora. Se sua versão compilada for mais antiga que o arquivo de origem, ela será recompilada. Mas não verifica se a versão compilada foi gerada a partir do mesmo arquivo de origem ou não.
Especificamente, se você tiver seus arquivos de script de ação sob controle de versão e reverter uma alteração, o arquivo revertido normalmente terá um carimbo de data / hora mais antigo e o Flash o ignorará.
fonte
Além disso, para usar sua nova classe no namespace, você também pode
fonte
Você tem vários arquivos swf? Se sua classe for importada em um dos swf's, outros swfs também usarão a mesma versão da classe. Uma importação antiga com * em um swf fará isso. Recompile tudo e veja se funciona.
fonte
Use um
grep
analógico para encontrar as stringsoldnamespace
eJenine
os arquivos em toda a pasta do projeto. Então você saberia o que fazer a seguir.fonte