관리 메뉴

nkdk의 세상

Flex. ModuleLoader와 SWFLoader 본문

My Programing/Flex&AIR

Flex. ModuleLoader와 SWFLoader

nkdk 2009. 8. 6. 15:25

처음 샘플 소스를 만들 때, 멋도 모르고 SWFLoader를 사용했다.

그러다 SWF의 값을 메인 Application으로 보내야만 하는 일이 생겼다.

그냥 무작정 캐스팅해서 함수를 부르게 만들었는데 값이 넘어오지 않았다.

 

조사를 해보니 LocalConnection으로 통신하면 값을 보낼 수 있다는 사실을 알았다.

구현했더니 아주 잘된다.

흡족해하고 있던 난, 테스트를 하기 위해 창을 여러개 열었다.

그런데 이게 왠일!

두번째 창을 눌러도, 세번째 창을 눌러도 첫번째 창이 움직이는 것이다.

눈물이 앞을 가렸다.

찾아보니 LocalConnection ID문제 였다.

SharedObject를 이용해 LocalConnectionManager를 만들어서, 창이 생성될때마다 LocalConnection ID를 LocalConnectionManager에 등록하여 관리하면 된다고 하였다.

하지만 이 방법도 문제가 있었다.
LocalConnection 하고 있는 상태에서 창을 복사( Ctrl+N ) 하면 Connection이 꼬여서 에러가 난다는 것이다.

 

그래서 다른 방법을 강구했다.

 Externalinterface 를 사용해서 통신하는 방법인데 복잡했다.

나는 단지 값 하나만 넘겨주고 싶을 뿐이었고....뭔가 근본적으로 잘못하고 있다는 생각이 들었다.

 

그러던 중 ModuleLoader를 사용해 보았고, 이 아이는 그냥 普通に 값을 넘겨받는 거 아닌가.

ModuleLoader가 있는 건 알았는데, 왜그리 SWFLoader로 캐고생을 했는지. 흑.

진작에 쓸 껄.

 

책에도 똑똑히 써져있는 것 아닌가.

SWFLoader는 단순 이미지 및 SWF로드를 위한 것이라는 것.

난 이제까지 무얼 했던 가.

삽질의 대가.