Devolver DataSetProveider
Hola estimados, estoy construyendo una aplicación datasnap y tengo implementadas algunas funciones de servidor que devuelven como resultado un datasetproveider para que este sea rescatado por la aplicación cliente, el problema es que al momento de ejecutarlo la aplicación servidora genera una excepcion que indica que no son soportados retornos de datos de tipo puntero. Creo entender que este tipo de llamadas no soporta la devolución de datos complejos como lo son objetos o conjuntos de datos. Me gustaría me aclararan si es correcto lo que indico o es solo un error en la forma de devolver el objeto. Aquí va el código:
Saludos... |
Diría que no debes devolver el DataSetProvider, sino el DataSet.
El Provider es una unión entre el DataSet y otras cosas |
Lo probare, aunque creo que el problema se debe a que cuando se asigna una clase a una variable, (en este caso como resultado de una función), lo que se hace realmente es asignar un puntero al objeto traspasado y no el objeto en si. Respecto a porque devuelvo un DataSetProveider, es porque la metodología utilizada cuando lo haces con un DataModuleServer es así. Obtienes un conjunto de datos (DataSet) el cual lo conectas a un DataSetProveider por el lado del servidor y lo recepcionas en el cliente enlazando dicho DataSetProveider con un DataSetConeccion y así accedes a los datos...
Saludos.,, |
No tengo mucha experiencia, pero creo que no es así.
Del lado del Server DataSet --> DataSetProvider --> ClientDataSet --> [DataSnap convierte a JSON] Del lado del cliente [JSON] --> TSQLConnection Es obvio que todos estos componentes en realidad son punteros que se pasan de una función a otra, pero según el tipo de dato del que se trate, la información apuntada se trata de una manera o de otra. |
|
Muchas gracias duilioisola y apicito, efectivamente el objeto que se debía devolver era un TDataSet. Ahora mi pregunta es a quien le corresponde liberar al objeto devuelto, al cliente o al servidor...??
Saludos. |
La franja horaria es GMT +2. Ahora son las 15:44:12. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi