Programming/프로그래밍

[AS3.0] #1009 Cannot access a property or method of a null object reference.

leeusin 2013. 4. 2. 15:47
액션 스크립트를 사용하는중에 이상한 오류가 생겼다.


스케일폼을 이용하기 위해 플래시와 액션스크립트를 현재 사용한다.


이게 스크립트의 오류가 아닐경우(스크립트의 오류로 생기는 경우도 있다.) 일반적으로 디버그 버전의 플레이어를 돌려서 해결한다.


근데 각각의 플래시 파일에서 생기는 오류가 아닐경우가 있다.


각각의 플래시 빌드를 했을땐 아무런 이상이 없다가 한군데서 로드할경우 오류가 생기는 경우가 있다.


요거 몰라서 한참을 헤맸네..


즉 사건 발생은 각각의 플래시파일에서는 아주 잘돌아가는 상황인거다.

a.swf , b.swf는 아무런 이상이 없다.


하지만 c.swf(fla) 에서 a.swf를 로드하고 b.swf 를 로드할때 갑자기 #1009 에러를 내면서 작동이 이상하게 되는 경우가 있다. 


이것을 알기까지가 헤맨 상황인거고 이걸 알면 생각보단 쉽다.


내 경우는 이런상황이었다.


a.fla 의 라이브러리에 defButton 이라는 심볼(무비클립)이 있고 이건 ButtonA 클래스와 연결되어있다고 치자. 그런데 b.fla 의 라이브러리에 defButton 이라는 같은 이름의 심볼이 있고 이건 ButtonB 클래스에 연결되어 있다면 즉 같은 이름의 심볼에 다른 클래스 연결로 인한 오류인거다.

이걸 사용하든 사용하지 않든 오류는 생긴다.


즉 필요없는 심볼이더라도 생기는 오류인거다.(로드시 생기는 오류로 인해 다른 심볼이 오류를 내뿜는 상황)


정확하게 모든걸 테스트 해보지는 않아서 이게 심볼 내부에 (즉 클래스에 필요한 변수 오류라던지 ...등에 대한 테스트) 오류가 없다면 상관없을지 모르겠으나 가능하면 import 해서 사용하는 심볼이 아닌경우는 이름이 겹치는가! 그리고 이름이 겹친다면 클래스가 같은가에 대한 판단은 해야할것이다.




반응형