2014-10-20 3 views
0

)를 읽었습니다. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Function.html 그러나 이는 내가 원하는 작업과 정확히 일치하지 않으며 적절한 해결책을 찾을 수 없습니다. 그러나 내 질문은 그렇게 복잡하지 않습니다. functionB이 같은 작업을 포함AS3 - functionClassB에서 functionClassB에서 function doClassB (

onlineClass.as :

mains.asfunctionA을 포함 (문자열 strParam :) : 여기

상황이다

private static functionB (fnParam:Function):void //my fnParam is functionA 
{ 
    var strParam:String = getSomeStringResult(); 
    //I have a result from a function 

    fnParam.call(strParam); 
    //I want to execute functionA with strParam as parameter 
} 

하지만 호출 매개 변수와 관련이 있는지 이해할 수 없습니다.

fnParam.call(null, strParam); 

를하지만 오류 반환 : 나는 시도 [오류] 예외 정보를 = 형식 오류 : 오류 # 1009 : 불가능 속성이나 null 객체의 참조의 방법을 액세스 할 수

내가 대답은 이미 어딘가에 있지만 "기능"과 "통화"가있는 검색은 어디에도 없습니다.

도움 주셔서 감사합니다. 가 다른 함수에 전달되는 않다면 매개 변수는 함수가 다음 매개 변수의 이름으로 직접 호출 할 수 있습니다 경우

+0

'functionB'에 대한 유일한 인수가'fnParam'이고 ('functionA'를 전달하는 경우),'strParam'을 어디에서 가져 오나요? – Marcela

+0

strParam은 여기에서 개발하지 않은 functionB 실행의 것입니다. functionA에 전달해야합니다 functionB가 실행될 때 strParam이 나옵니다. (내 게시물을 더 명확하게 편집해야합니까?) –

답변

0

좋아요, 제 코드가 작동하도록 만들었습니다. 정적 인 이야기 일 수 있다고 생각합니다. FunctionA 정적이 아니며, 내가 정적 FunctionB의 매개 변수로 통과 할 때,이 작품 :

private static var functionACallback:Function; 

public static functionB(functionA:Function):void 
{ 
    functionACallback = functionA; //set the static functionACallback 
    var strParam = getSomeStringResult(); //get the string 
    functionACallback(strParam); //call the static var with parameter 
} 

내가 완전히 여기에 문제를 이해하지 않지만, 위의 코드는 문제를 해결.

defenestrate.me의 답변이 도움이되었습니다.

0

:

functionB(fnParam:Function){ 
    fnParam('strParam'); 
} 

문제는 여기를 통해 전달되는 것 때 functionA가 null처럼 보이는 functionB로. 다른 파일/클래스에 있기 때문에 가능하지만 functionA가 액세스 가능한지 확인하기 위해 functionB가 호출되기 전에 디버그하려고합니다.

+0

답변 해 주셔서 감사합니다. 솔루션을 시도 할 때 나는 여전히 동일한 오류가 발생하므로 functionA는 null 일 수 있습니다. 그러나 문자열 매개 변수 : fnParam.call()을 사용하지 않고 코드를 작성하면 잘 동작합니다. 그래서 나는 그 오류를 이해하지 못합니다. –

+0

예제에서 fnParam.call()을 호출 할 때 breakpoint를 추가하여 strParam에 기대하는 값이 있는지 확인하는 것이 좋습니다. 비록 그것이 여전히 null 값을 가진 함수를 호출해야한다고 확신 할지라도 getSomeStringResult()의 반환 값이 문제를 일으키지 않는지 확인하는 것이 가치가 있습니다. 그 시점에서 fnParam 변수가 실제로 함수이고 null이 아닌지 확인할 수 있습니다. –