2012-01-09 4 views
0

마법사를 따라 PHP 스크립트에 연결하는 http 서비스를 만듭니다. 스크립트는 데이터베이스에서 임의의 레코드를 가져옵니다.flex 4의 lastResult에 액세스

라벨의 정의는 다음과 같습니다

<s:Label id="label2" x="556" y="136" width="75" height="71" 
     creationComplete="label2_creationCompleteHandler(event)" 
     text="{GetQstResult2.lastResult}"/> 

protected function label2_creationCompleteHandler(event:FlexEvent):void 
     { 
      GetQstResult2.token = qst.GetQst(); 
     } 

결과는 배열로 마법사를 포맷,하지만 난 값에 액세스하는 방법을 알고하지 않습니다. 이제 앱을 실행할 때 [객체 질문]이 표시됩니다.

* EDIT1 :

<qst:Qst id="qst" 
      fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" 
      showBusyCursor="true"/> 
    <s:CallResponder id="GetQstResult2"/> 

답변

0

당신이 [오브젝트 질문]을 볼 수있는 이유는 당신의 LASTRESULT 질문 개체의 인스턴스이지만, 객체 toString() 메서드를 구현하지 않았기 때문에 대부분이므로 객체 계층의 어딘가에서 정의 된 기본 toString() 메서드를 사용하고 있습니다. 대부분 Object 클래스입니다.

Question 클래스에서 toString() 메서드를 정의 할 수 있습니다. 또는 원격 호출과 관련된 결과 핸들러에서 레이블의 텍스트를 설정할 수 있습니다. 나는 두 번째 접근법을 선호한다. 결과 처리기에서 다음과 같이하십시오.

var myQuestionInstance : Question = event.result as Question; 
label2.text = myQuestionInstance.someStringPropertyOnQuestion; 
+0

코드를 넣을 위치가 없습니다. ValueObjects 및 데이터 Qst 서비스라는 패키지가 있다고 말할 수 있습니다. GetQst() : string 유형의 키가있는 질문. 어떻게 접근 할 수 있습니까? –

+0

"코드를 넣을 곳은"원격 서비스의 결과 처리기에 코드를 넣으십시오. 원격 서비스 코드를 제공하지 않았거나 어떤 종류인지 알려주지 않았으므로 그것보다 더 구체적인 것은 당신에게주는 것이 어렵습니다. – JeffryHouser

+0

예, 코드를 넣을 곳은 결과 핸들러가 없기 때문에 에 넣을 수 있습니까? –

관련 문제