Flash CS4는 놓지 않습니다.


2742

Flash 프로젝트가 있고 많은 소스 파일이 있습니다. 나는 상당히 많이 사용되는 수업을 Jenine이라고 부릅니다. 최근에 Jenine을 한 네임 스페이스에서 다른 네임 스페이스로 이전했습니다. 나는 우리가 준비되었다고 생각했다. 나는 시간이라고 생각했다. 새로운 Jenine은 모든면에서 더 좋았습니다. 코드 부풀림을 잃어 버렸고 몇 가지 흔적 클래스 관계에서 자신을 분리했으며 마침내 그녀는 항상 그녀의 마음에 비밀리에 알려진 네임 스페이스로 돌아갔습니다. 에 속한. 그녀는 자신의 종류 중 하나였습니다.

불행히도, Flash는 그 중 아무것도 없습니다. 어쩌면 그것은 첨부 파일을 형성했을 것입니다. 아마도 Jenine이 분리 되기를 원하지 않았을 것입니다. 어느 쪽이든, 그것은 오래된 기억의 Jenine의 완벽한 버전에 매달렸다. 계속하지 않았다. 그녀의 (기능) 호출을 무시했습니다. 그녀는 새로운 공용 인터페이스를 잊어 버렸습니다. 대신, 생성 한 Jenine의 모든 인스턴스는 항상 클래스 경로에 이르기까지 항상 이전 버전의 복사본이었습니다.

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

우리는 싸웠다. 내가 말하거나 한 일 중 일부를 자랑스럽게 생각하지 않습니다. 결국, 격렬한 분노 속에서, 나는 Jenine에 대한 모든 언급을 완전히 삭제했습니다. 그녀는 완전히 시스템에서 완전히 지워졌습니다. 커서가 상자의 차가운 뚜껑과 같은 "휴지통 비우기"메뉴 옵션에 커서를 놓았습니다.

플래시가 회복되지 않았다고 생각합니다. 오늘날까지도 여전히 Jenine의 기억에 고착되어 있습니다. 그녀의 오래되고 불완전한 정의는 여전히 버려진 유령과 같은 내 프로젝트를 통해 떠 오릅니다. 플래시를 강제로 컴파일 할 때마다 여전히 영화에 그녀를 사랑스럽게 삽입하여 작은 신사처럼 다른 살아있는 클래스 사이에 그녀의 정의를 내포합니다. 그들이 그녀를 볼 수 있는지 궁금합니다.

플래시와 나는 더 이상 이야기하지 않습니다. 내 코드를 작성하고 컴파일합니다. 누군가가 자신의 소스 코드 도매를 새로운 클래스에 복사 한 것처럼 Flash가 관심을 보이지 않는 것처럼 Summer라는 도시에 Jenine과 거의 동일한 모습을 가진 새로운 소녀가 있습니다. 대부분의 날은 내가 주위를 보지 못하고 있다고 생각할 때 주위를 돌아 다니며 내 의견에 나쁜시를 씁니다.

플래시 코드 기반의 끔찍한 어둠의 석호에서 단 하나의 고통스러운 파문 일뿐 인 비슷한 경험을 가진 사람이 아무도 없기를 바랍니다. 컴파일러가 사용하는 캐시를 지우는 방법을 아는 사람이 있습니까?

답변:


701

Flash에는 여전히 클래스의 컴파일 된 바이트 코드 인 ASO 파일이 있습니다. Windows에서는 다음과 같은 ASO 파일을 볼 수 있습니다.

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

Mac에서 디렉토리 구조는 다음과 유사합니다. /Users/username/Library/Application Support/


해당 파일을 직접 제거하거나 Flash Control->Delete ASO files에서 제거하도록 선택할 수 있습니다.


34
아래에서 복사 : 이것과 다른 매우 비슷한 대답은 내가 찾던 것과 정확히 같지만 불행히도 문제를 해결하지 못하는 것 같습니다. 나는 이것을 Adobe bug fun tiem에 초크 할 것입니다. 그러나 해결 된 것으로 표시하겠습니다.
Ender

292
추신 : 메뉴 항목을 반복해서 클릭했습니다. 마지막으로 Jenine의 마지막 에코가 포함 된 파일을 정리하기 위해 파일 구조에 깊숙이 빠져 들었습니다. 그들은 거기에 없습니다. 내가 그들에게 물어 보면, Flash는 비 일관적인 무언가를 비웃고 우주로 쳐다 본다. 내 마우스 버튼의 미친 망치로 무언가를들을 수 있다고 생각합니다. 제닌이 웃어요.
Ender

23
@ Ender, 새 상자에서 코드를 새로 컴파일하면 동일한 문제가 발생합니까? 새 컴퓨터에서 코드를 새로 체크 아웃하는 것처럼? 이것은 코드 나에 남아있는 것들에 문제가 있는지 여부를 알려해야합니다 귀하의 파일 시스템 *.
Jesse Webb

197

ASO 파일을 삭제하십시오.

ASO 파일은 컴파일 된 버전의 클래스 파일로 캐시됩니다. IDE가 변경 될 때 오래된 캐시를 놓아 두는 것이 훨씬 낫지 만 때로는 수동으로 삭제해야합니다. ASO 파일을 삭제하려면 : Control> Delete ASO Files.

이것은 CS3에 도입 된 "보고 싶지 않은 나의 변화들-그리기-추가-추적-지금 모든 것이 작동합니다"버그의 원인이기도합니다.


165

다른 컴퓨터를 사용하여 컴파일하면 어떻게됩니까? 새로 설치 한 것은 사랑 스럽습니다. 나는 당신의 기계 가 질투하지 않기를 바랍니다 .


125

도움이 될 수있는 하나의 관련 동작을 찾았습니다.

Flash는 타임 스탬프를보고 소스 파일을 다시 컴파일해야하는지 여부를 확인합니다. 컴파일 된 버전이 소스 파일보다 오래된 경우 다시 컴파일됩니다. 그러나 컴파일 된 버전이 동일한 소스 파일에서 생성되었는지 여부는 확인하지 않습니다.

특히 액션 스크립트 파일의 버전을 관리하고 변경 사항을 되 돌리면 일반적으로 되 돌린 파일에 오래된 타임 스탬프가 있고 Flash에서이를 무시합니다.


12
사실 남아프리카와 런던의 개발자들과 여러 프로젝트를 진행하고 있습니다. 컴파일 할 때 파일의 타임 스탬프에 따라 오류가 발생할 수 있으므로 플래시 파일을주고받을 때는 로컬로 저장해야합니다. 본질적으로, 미래에 저장된 플래시를 컴파일하려고 시도하는 것이 문제입니다. 우리는 OS의 날짜를 변경하여 알아 냈습니다. 타임 스탬프를 확인하십시오.
Dominic Tancredi 2019

103

또한 새로운 네임 스페이스 클래스를 사용하려면 다음을 수행 할 수도 있습니다

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

96

swf 파일이 여러 개 있습니까? 클래스를 swf 중 하나에서 가져 오면 다른 swf도 동일한 버전의 클래스를 사용합니다. 하나의 swf에 *가있는 하나의 오래된 가져 오기가이를 수행합니다. 모든 것을 다시 컴파일하고 작동하는지 확인하십시오.


10
예, Jenine은 코드의 다른 부분, swf 또는 swc로 컴파일됩니다.
Arpit

11

전체 프로젝트 폴더에서 grep문자열 oldnamespaceJenine파일 내부 를 찾으려면 아날로그를 사용하십시오 . 그러면 다음에 수행 할 단계를 알게됩니다.


4
당신이 downvoted 된 이유에 대한 내 자신의 추측은 당신이 상당히 명백한 대답을했고 그것이 문제를 해결할 것이라는 것을 암시했을 것입니다. 당신의 대답이 반드시 나쁘지는 않지만, 당신의 문구는 정당화 될 수 없을 정도로 과신하거나 거만하다고 해석되어 때때로 사람들을 괴롭 힙니다.
Erhannis

5
흠. 아마도 당신 말이 맞을 수도 있습니다. 반면에, 질문이 내 것과 같은 명백한 질문에 대한 답변을 제공하지 않으면 실망합니다. "모든 파일에서 문자열 Jenine을 검색했지만 일치하는 항목을 찾을 수 없습니다"와 같은 것입니다. 나는 흥미 롭다. 이 미스터리를 해결하고 싶습니다. 그러나 저자는 나를 교수형에 처하게한다.
Ark-kun

3
내가 말했듯이, 당신의 대답이 반드시 나쁘지는 않았습니다. 당신의 문구가 누군가를 화나게했을 수도 있습니다. 솔직히, 그것은 나의 첫 반응이었습니다. 나는 일반적으로 사물 의 실제 원인이 당신이 생각하는 것이 아니라는 점을 감안할 때 일반적으로 " 희망 이 도움이 될 것 입니다"라는 방식으로 사물을 말하려고합니다 . 다시 한 번, 귀하의 답변 시도해야 할 사항이므로 제출 된 답변으로 고려할 가치가 있지만, 문구는 때로는 사람들이 생각보다 더 많은 영향을 미칩니다.
Erhannis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.