El programa consiste en una serie de usuarios, cada uno tiene carpetas, y en cada carpetas hay noticias, es decir; tengo una base de datos con tres tablas: "usuarios, carpetas y noticias", con sus respectivas claves foráneas.
He generado los php automáticamente desde el flash builder 4 (NoticiasService.php, CarpetasService.php y uUuariosService.php), aunque haciendo algunas modificaciones. He testeado cada función con la opción "test operation" y todos los resultados me los devuelve bien.
El problema es, cuando hago una llamada a esa base de datos, que no me devuelve el resultado inmediatamente, por ejemplo, en esta función tan sencilla:
Código:
//En bloque SCRIPT: protected function getcount(event: MouseEvent): void ( countResult.token=carpetaService.countResult(); pruebasal.text = countResult.lastResult; ) /***********************************/ //En bloque DECLARATIONS: <carpetaservice:CarpetaService id="carpetaService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/> <s:CallResponder id="countResult"/> /**********************************/
La primera vez que hago clic en el botón, el resultado de mi TextArea "pruebasal" es "undefined", la segunda vez que hago click, es cuando me da el valor correcto, que es un entero que me indica el número de carpetas que hay.
Cuando tengo más de una llamada en la función, tengo que pulsar más de 2 veces para obtener el resultado.
¿Por qué me pasa esto? ¿Por qué tengo que clickar una vez por cada llamada para que me devuelva el resultado? Si son llamadas asíncronas, supuestamente me debería devolver el valor al instante, ¿no?
Llevo varias semanas haciendo cambios y probando distintos códigos, e igual que me pasa en esa función tan sencilla, me pasa en todas, tanto en el login (que tengo que darle 3 veces al botón para que entre en el sistema), como en las demás funciones.
Espero vuestra ayuda, porque estoy un poco desesperada ya.
Gracias por adelantado.