Flash CS4는 Go를 거부합니다
질문
플래시 프로젝트가 있으며 많은 소스 파일이 있습니다.나는 상당히 많이 사용되는 수업을 가지고, 제니닌이라고 부릅니다.최근에 (그리고 아마도, alalously) 한 네임 스페이스에서 다른 네임 스페이스로 제닌을 재배치했습니다.나는 우리가 준비되었다고 생각했다 - 나는 그것이 시간이라고 생각했다.새로운 제니 네인은 모든면에서 더 낫습니다 - 그녀는 몇 가지 냉담한 계급 관계에서 자신을 분리했고, 그녀는 항상 그녀가 항상 그녀의 마음에 비밀리하게 알려진 네임 스페스에 집으로 돌아 왔습니다.에 속하다.그녀는 자신의 종류 중 하나였습니다.
불행히도 플래시는 그 중 어느 것도 없을 것입니다.아마도 그것은 부착물을 형성했다.아마 그것은 제니 네인이 분리되기를 원하지 않았을 것입니다.어느 쪽이든, 그것은 메모리에있는 제니 네인의 오래된 완벽한 버전으로 달라 붙습니다.그것은 계속 나아갈 것을 거부했다.그것은 그녀 (함수) 전화를 무시했습니다.그것은 그녀의 새롭고 공공 인터페이스를 잊으려고 노력했습니다.대신, 제네린의 모든 인스턴스는 항상 이전 버전의 복사본이었습니다.
var jenineInstance:Jenine = new Jenine();
trace( getQualifiedClassName(jenineInstance));
// Should print: com.newnamespace.subspace::Jenine
// Prints: com.oldnamespace.subspace::Jenine
// Ah, young love!
우리는 싸웠다.나는 내가 말한 것들 중 일부를 자랑스럽게 생각하지 않는다.결국, 솟아 오르는 분노에 맞는, 나는 제니 네인의 모든 참조를 완전히 삭제했습니다.그녀는 완전히 시스템에서 완전히 지워졌습니다.내 커서가 상자의 냉방과 같은 "빈 쓰레기"메뉴 옵션에 떨어졌습니다.
나는 플래시가 이제까지 회복되지 않는다고 생각하지 않는다.오늘까지는 여전히 제니닌의 기억을달라고 있습니다.그녀의 오래된, 불완전한 정의는 여전히 버려진 유령과 같은 프로젝트를 통해 뜬다.Flash가 플래시를 컴파일 할 때마다, 그것은 여전히 그녀를 내 영화에 삽입하여 작은 신사와 같은 다른 살아있는 수업 중에 그녀의 정의를 새롭게합니다.그들이 그녀를 볼 수 있는지 궁금해.
플래시와 나는 정말로 더 이상 말하지 않는다.코드를 작성하면 컴파일합니다.누군가가 새로운 수업에 소스 코드를 도매로 복사 한 것처럼, 제니닌 (Jenine)과 거의 동일한 여름이라는 새로운 소녀가 있습니다.하지만 플래시는 어떤 관심이 없습니다.대부분의 날은 주변에서 걸리고 나가는시에 나쁜시를 씁니다.
나는 다른 사람이 비슷한 경험을 가지고 있지 않기를 바랍니다. 이것은 플래시 코드 기반 인 소름 끼치는 어두운 석호에있는 단 하나의 고통스런 리플입니다.컴파일러가 사용하는 캐시를 지우는 방법에 대해서도 누구도 알 수 있습니까?
답변
Flash에는 클래스의 컴파일 된 바이트 코드 인 ASO 파일이 있습니다.Windows에서는 여기에서 ASO 파일을 볼 수 있습니다.
C:\Documents and Settings\username\Local Settings\Application Data\Adobe\Flash CS4\en\Configuration\Classes\aso
Mac에서 디렉토리 구조는 / 사용자 / username / library / 응용 프로그램 지원 /
해당 파일을 손으로 제거하거나 플래시에서 제어 -> ASO 파일 삭제를 선택하여 제거 할 수 있습니다.
답변
ASO 파일을 삭제 해보십시오.
ASO 파일은 클래스 파일의 컴파일 된 버전을 캐시합니다.IDE가 변경 될 때 오래된 캐시를 놓을 때 훨씬 더 훨씬 나아 지지만 때로는 수동으로 삭제해야합니다.aso 파일을 삭제하려면 : 제어> aso 파일을 삭제하십시오.
이것은 CS3에서 도입 된 "I-AM-in-my-my-rela-me-add-a-your-everything-insults"버그의 원인이기도합니다.
답변
다른 컴퓨터를 사용하여 컴파일하는 경우에는 어떻게해야합니까?신선한 설치 한 것은 사랑 스럽습니다.나는 당신의 기계가 질투심이 없기를 바랍니다.
답변
나는 도움이 될 수있는 하나의 관련 행동을 발견했습니다 (특정 문제가 더 깊어지는 것처럼 들리는 것처럼 들리지만).
Flash 소스 파일이 타임 스탬프를 보면서 다시 컴파일 해야하는지 여부를 확인합니다.컴파일 된 버전이 소스 파일보다 오래된 경우 다시 컴파일됩니다.그러나 컴파일 된 버전이 동일한 소스 파일에서 생성되었는지 여부는 확인하지 않습니다.
특히 Version Control에서 ActionScript 파일이 있고 변경 사항을 되돌리면 되돌리면 되돌리면 되돌리면 파일은 일반적으로 이전 시간 소인이 있으며 플래시는 무시됩니다.
답변
또한 새로운 네임 스페이스 클래스를 사용하려면 할 수 있습니다.
var jenine:com.newnamespace.subspace.Jenine = com.newnamespace.subspace.Jenine()
답변
여러 SWF 파일이 있습니까?SWF 중 하나에서 클래스가 가져 오는 경우 다른 SWF는 동일한 버전의 클래스를 사용합니다.한 SWF에서 * 1 개의 오래된 가져 오기는 그것을 할 것입니다.모든 것을 다시 컴파일하고 작동하는지 확인하십시오.
출처:https://stackoverflow.com/questions/2193953/flash-cs4-refuses-to-let-go
최근댓글