Foros del Web » Creando para Internet » Flash y Actionscript »

Callback en Mate Framework

Estas en el tema de Callback en Mate Framework en el foro de Flash y Actionscript en Foros del Web. Buenas, estoy intentando definir un callback de la siguiente manera: - En el Event Map: <mate:EventHandlers type="{LogoContestEvent.SET_VALUATION}" debug="{debug}"> <mate:RemoteObjectInvoker instance="{services.logoContestService}" method="setValuation" arguments="{[event.valuation]}" debug="{debug}"> <mate:resultHandlers> <mate:MethodInvoker ...
  #1 (permalink)  
Antiguo 22/11/2009, 11:24
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Callback en Mate Framework

Buenas, estoy intentando definir un callback de la siguiente manera:

- En el Event Map:

<mate:EventHandlers type="{LogoContestEvent.SET_VALUATION}" debug="{debug}">
<mate:RemoteObjectInvoker instance="{services.logoContestService}"
method="setValuation"
arguments="{[event.valuation]}"
debug="{debug}">
<mate:resultHandlers>
<mate:MethodInvoker generator="{LogoContestResultHandler}"
method="setValuation"
arguments="{[resultObject]}"/>
<mate:CallBack method="setLogoContestValuationCallback" arguments="{[resultObject]}"/>
</mate:resultHandlers>
</mate:RemoteObjectInvoker>
</mate:EventHandlers>

- en mi componente

public function setLogoContestValuationCallback(result:BasicResult VO = null):void
{
var e:Event = new Event ("valuationDone", false);
dispatchEvent(e);
}

Qué es lo que estoy haciendo mal?

Gracias
  #2 (permalink)  
Antiguo 22/11/2009, 11:53
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Callback en Mate Framework

Código xml:
Ver original
  1. <mate:EventHandlers type="{LogoContestEvent.SET_VALUATION}" debug="{debug}">
  2.     <mate:RemoteObjectInvoker
  3.         instance="{services.logoContestService}"
  4.         method="setValuation"
  5.         arguments="{[event.valuation]}"
  6.         debug="{debug}"
  7.     >
  8.         <mate:resultHandlers>
  9.             <mate:MethodInvoker
  10.                 generator="{LogoContestResultHandler}"
  11.                 method="setValuation"
  12.                 arguments="{[resultObject]}"
  13.             />
  14.             <mate:CallBack
  15.                 method="setLogoContestValuationCallback"
  16.                 arguments="{[resultObject]}"
  17.             />
  18.         </mate:resultHandlers>
  19.     </mate:RemoteObjectInvoker>
  20. </mate:EventHandlers>

Código actionscript:
Ver original
  1. public function setLogoContestValuationCallback(result:BasicResult VO = null):void
  2. {
  3.     var e:Event = new Event ("valuationDone", false);
  4.     dispatchEvent(e);
  5. }

A simple vista la sintaxis es correcta, no dices cual es tu problema, asumo que el problema es que no se ejecuta el callback. Si es asi:

El tag callBack, ejecuta la funcion desde donde se donde se lanzo el evento, esto quiere decir que tu funcion setLogoContestValuationCallback sera ejecutada si y solo si esta se encuentra declarada dentro del componente donde se lanzo el evento LogoContestEvent.SET_VALUATION..

El evento lo lanzas desde un componente visual o desde una clase?

Si es desde un componente visual el target es dicho componente, en cambio si lo haces desde un componente NO visual, es decir, una clase el target es el IEventDispatcher.

Otra caso que veo es que el la funcion del callback lanzas a su vez un evento local, en donde para empezar el false, es innecesario ya que es el valor por default, pon un trace o algo en donde puedas ver si se ejecuta la funcion del callback y asi estar seguro si es el callback lo que no se ejecuta o el evento dentro del callback.

Saludos!!
  #3 (permalink)  
Antiguo 22/11/2009, 12:29
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Callback en Mate Framework

He mentido vilmente en la anterior publicacion, así ue la edito. En realidad no estoy despachando el evento desde el componente visual sino desde un manager que me gestiona todos los eventos. Por ejemplo, para lanzar el evento setValuationEvent desde mi componente visual lo que he hecho para solucionarlo es lo siguiente:

Manager.doSetValuation(parametros, eventdispatcher) -> como evendispatcher, que es de tipo EventDIspatcher le paso this refiriendose al componente visual desde donde llamo a la funcion del manager.

Última edición por gabiango; 22/11/2009 a las 16:29
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.