2009-11-11 5 views
0

FileReference와 함께 문자열을 전달하거나 이벤트가 발생할 때 해당 문자열을 인수로 제공해야합니다. 분명히 말하자면 AS3에서는 이벤트에 매개 변수를 전달할 수 없다는 사실을 정말로 귀찮게합니다.FileReference 완료 이벤트에 대한 정보 전달

지금은 추가 변수를 포함하도록 FileReference 클래스를 확장했습니다. 이 컴파일하려면 노력하고있어,하지만 컴파일되지 않습니다; 나는이 클래스를 올바르게 임포트하는 방법을 모른다. 이 클래스를 올바르게 임포트하는 방법을 알려 주시면 더 이상 컴파일 할 때 Error: Type was not found or was not a compile-time constant을 얻을 수 없습니다.

이 확장 FileReference 클래스는 다음과 같습니다

import flash.net.FileReference; 

public class SxmFR extends FileReference { 

    public var housenum:String = ""; 

    public function SxmFR(str:String) { 
     housenum = str; 
     super(); 
    } 
} 

나는 해봤하는 .mxml과 같은 폴더에이 .as있다. 둘 다 자동으로 가져 오지 않습니다.

또한 이벤트 클래스를 확장하려고 시도했지만 이벤트 전달을 수행하는 방법을 알아 내지 못했습니다. Event.COMPLETE 이벤트에 응답해야합니다. 이것에 대한 파견 방법을 제게 알려줄 수 있다면, 효과가있을 수도 있습니다.

이 문제를 해결하고 많은 사람들에게 사랑과 감사를 전 해주십시오. 이 addEventListener를 호출 할 때 가지고와 같은 값을가집니다

function myFunction(): void { 
    var aParam: String = "This is a parameter"; 

    dispatcher.addEventListener("eventName", function (e: Event): void { 
     // you can access aParam here 
     trace(aParam); 
    }); 
} 

aParam 기능 내부 : 당신이 폐쇄로 이벤트 리스너를 추가하는 경우)

+0

어떤 유형이 '발견되지 않았거나 컴파일 타임 상수가 아니 었습니까?' 다른 클래스를 가져올 수 있습니까? – Amarghosh

+0

네이티브 플래시 클래스를 가져올 수 있습니다. 저는 문제가 제가 외부 클래스를 가져 오는 방법을 알지 못한다고 생각합니다. SxmFR은 '찾을 수 없음'유형입니다. 몇개의 장소에서 그 타입에 객체를 인스턴스화합니다. 왜냐하면 housenum의 값을 FileReference에 첨부하기를 원하기 때문입니다. – jeffcook2150

+0

명확히하기 :이 코드는'package {}'문장으로 둘러싸여 있고 파일 이름은'SxmFR.as'인가요? – Amarghosh

답변

2

당신은 현재 함수의 변수에 액세스 할 수 .

+0

흠 ... 거의 작동합니다. 나는 이것을 반복하기 위해 for 루프를 사용하고 있지만 루프의 첫 번째 패스에서 처음 생성 된 동일한 객체를 사용하는 것처럼 보인다. 왜냐하면 항상 동일한 루프에 의해 할당 된 후속 이벤트에'aParam'의 첫 번째 값을 적용하려고하기 때문이다. . 그 문제를 해결하는 방법을 알고 있습니까? – jeffcook2150

+0

배열'a'를 반복하면 대신에'a.forEach'를 사용할 수 있습니다. 그러면 루프의 반복마다 새 변수가 만들어집니다. 이 질문에 대한 내 대답은 다음을 참조하십시오. http://stackoverflow.com/questions/1715918/in-actionscript-3-how-can-i-pass-the-current-value-of-an-array-in- a-loop-to-an-e/1718024 # 1718024 –