2012-01-09 1 views
0

Я следую за мастером, чтобы создать службу http для подключения к скрипту php. Сценарий извлекает случайную запись из базы данных.Доступ к lastResult в flex 4

Определение метка:

<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(); 
     } 

Результат отформатирован с помощью мастера в массив, но я не знал, как получить доступ к значениям. Теперь, когда я запускаю приложение, он показывает [object Question].

* 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.

Вы можете определить метод toString() в классе Question. Или вы можете установить текст своей метки в обработчике результатов, связанном с удаленным вызовом. Я предпочитаю второй подход. В обработчике результата сделайте примерно следующее:

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

Я не понимаю, куда его поставить. Я могу сказать, что у меня есть пакет с именем valueObjects и служба Qst данных: GetQst(): Question, у которого есть ключи строки типа. Как я могу получить к ним доступ? –

+0

«где поставить код» Поместите код в обработчик результатов удаленной службы. Поскольку вы не предоставили код для своего удаленного сервиса или не сказали нам, какой он есть; трудно дать вам больше деталей, чем это. – JeffryHouser

+0

да, где поставить код, потому что у меня нет обработчика результата, чтобы положить в ? –

Смежные вопросы