Comunidad de diseño web y desarrollo en internet online

¿Duda de como tener dos funciones en flex?

Citar            
MensajeEscrito el 15 May 2009 06:31 pm
amigos me dirijo a ustedes para recibir una orientación acerca de mi duda estoy haciendo un proyecto en flex con java y Sql Server 2005 con lo cual mi problema es el siguiente utilizando flex y conectándome a WebOrb con la siguiente función:

public function CONEXION():void{
objeto_remoto = new RemoteObject("GenericDestination");
objeto_remoto.source = "dbcom.Main";
}

Esta es mi función de acción con la cual ejecuto consultas SQL , bien parar esta función tengo que tener una función donde recibo el resultado

public function SERVER_SQL(comando:String,funcion:Function):void{
CONEXION();
objeto_remoto.sql(sql_server,comando);
objeto_remoto.sql.addEventListener("result", respuesta);
}

Esta es la función de respuesta donde obtengo el resultado de mi consulta
public virtual function respuesta(event:ResultEvent):void{
var Str:Array = event.result as Array;
}

Todo funciona bien pero quisiera saber si es posible tener estas dos funciones en una para que al momento de que ejecute una consulta pueda devolverme la respuesta como se hace en c++ o en java o php por qué e consultados varios libros y ejemplos en internet y todos utilizan dos funciones pero hasta a hora incluso en los ejemplos de adobe no he visto un ejemplo donde pueda englobar la petición y respuesta en una sola función.

lo que quiero hacer es esto claro si me dejara el flex hacerlo pero no me deja aunque espero que exista una forma de poderlo hacer.

public function SERVER_SQL(comando:String):Array{
CONEXION();
var respuesta:Array = objeto_remoto.sql(sql_server,comando);
return respuesta;
}

para poderla utilizar asi:

var res:Array = SERVER_SQL("insert into usuarios values (1,'Moises')");

if (res[0].toString() == "S"){
Alert.show('todo esta bonito');
}
sin mas por el momento les agradecería su aportación.

Por juan_luis_gomez

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 May 2009 09:12 pm
Hola

No, no se puede. El motivo es porque con cualquier tipo de consultas al servidor estas programando orientado a eventos, y estos eventos son asincronicos, ese es el porque no podes hacer lo q queres.

Pensa que Flex es la interfaz, una gran mejora con respecto a html (estaticos o dinamicos por medio de lenguajes de servidor). Su idea es que con cualquier interaccion con el servidor el usuario pueda seguir usando la aplicacion mientras vuelve la respuesta, cosa q con php y demas eso es imposible, justamente, porque hacen lo q vos queres ahcer, la consulta SQL y se queda esperando hasta q vuelva. Bueno, Flex/flash, no hacen eso, hace la llamada al servidor (con weborb, httpservice, wsdl, etc) y queda ejecutandose en 2do plano mientras el usuario puede seguir interactuando con la aplicacion y en algun momento x, se lanza un evento (por ej:ResultEvent) indicando q la respuesta llego. Asi funciona.

Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 18 May 2009 03:15 pm
Gracias por la respuesta compañeros y cuando termine publicare el código que tengo para que le sirva a otros usuarios

Por juan_luis_gomez

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.