클래스 생성시 주의할 점

오늘 한참 코딩하던중 잘 사용하던 Event 클래스가 에러나면서 사용이 안되는 에러가 발견되었습니다.


일단 flash.events.Event를 상속받은 이벤트 클래스를 생성합니다.

패키지는 comd이고 클래스명은 DataEvent  입니다.

 package com
{
 import flash.events.Event;

 public class DataEvent extends Event
 {
  public function DataEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
  {
   super(type, bubbles, cancelable);
  }
  
 }
}



사용하기 위해서 아래와 같이 어플리케이션에서는 이 이벤트 클래스를 사용하기위해 객체를 선언하고 생성하였습니다. 

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
  import com.DataEvent;
  private function init():void{
   var event:DataEvent = new DataEvent();
  }
  ]]>
 </mx:Script>
</mx:Application>
그럼 이때 저 DataEvent  이벤트를 사용하려는 곳에서 에러가 발생합니다.

Description Resource Path Location Type
1180: 정의되지 않은 메서드 DataEvent을(를) 호출했습니다. ErrorTest.mxml ErrorTest/src line 7 Flex Problem

Description Resource Path Location Type
Can not resolve a multiname reference unambiguously. flash.events:DataEvent (from C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\frameworks\libs\player\9\playerglobal.swc(DataEvent)) and com:DataEvent (from C:\ErrorTest\src\com\DataEvent.as) are available. ErrorTest.mxml ErrorTest/src Unknown Flex Problemem


 



이런식으로 에러가 발생하게 됩니다.

그 이유는 잘 모르겠지만
플랙스SDK에 포함되어 있는 DataEvent클래스명과 이름이 같기 때문에 나는 문제 인것같습니다.
패키지명은 분명히 틀린데 말이죠;;

하지만 저 클래스를 .as 파일 내에서 사용하면 문제 없이 사용할 수 있습니다.
mxml 내에서 DataEvent클래스를 스크립트 내에서 사용하면 해당 에러를 볼 수 있습니다.

완전 버그 같습니다.. -0-

현재 사용 버전은 3.2 입니다.

이 문제에 대해서 뭔가 알고 계시다면 댓글좀 ㅎㅎ