Pasar Array como Parametro
Holal a todos.
Tengo un problemilla que he intentado resolver y no hay manera. Expongo lo que me ocurre: Sigo desarrollando mi aplicación Cliente - Servidor, y ahora me toca enviar los datos del cliente al servidor para que los grabe en la tabla correspondiente. El problema que se me plantea es que cuando llamo a la funcion que he creado previamente en el servidor e intento pasarle los datos, estos son muchos, exactamente 45 parametros y me da error, porque superan los 32 que existe como máximo en cuanto a pasar parametros se refiere. La solucion que intento dar es crear un Array de String con 45 posiciones y pasar el Array como único parámetro a através de la función, pero me da errores de incompatibilidad de datos. He leido algo por el foro de crear el array dentro de un Type, pero no me aclaro, por si alguien me lo puede explicar de manera sencilla y clara con un ejemplo. Lo que tengo ahora mismo es esto. Así no me funciona, pero no se como arreglarlo para enviar los datos al servidor. Agradezco un poco de luz, gracias a todos. nota: Delphi 10 Seattle. |
|
Cita:
Gracias Caminante por responder tan rápido, pero si hago eso al compilar me da el siguiente error: E2010 Incompatible types: 'string' and 'MiArray' En la funcion: resultado:= funcion.GrabarEnServidorDatos(Tabla); |
Y de que tipo es Tabla.
En ese caso debes usar el mismo tipo de dato que estas creando. |
Cita:
tabla:MiArray; |
Pues se me hace raro
Podrias poner un poco mas de codigo? |
Cita:
Lo que tengo ahora mismo es:
|
|
En el metodo grabarfactura pareciera que el parametro que le pasas esta esperando un string y no un Array.
Es la unica explicacion que le veo. Como esta declarado este metodo??? |
El metodo declarado en el servidor al que llamo desde el cliente está declarado de la siguiente forma:
|
Tambien debe ser de tipo MiArray sino se interpreta como un tipo diferente.
|
Cita:
|
Cita:
:confused: |
Bueno ahi no sabria decirte, nunca he usado datasnap. Pero en una aplicacion ordinaria deberia funcionar.
Voy a ver si investigo algo sobre el tema. |
Cita:
ok, voy a ver si doy mientras con la solución |
Podes hacerlo de esta manera.
Y el result lo envias dentro de la función que tienes en el servidor, la variable que lo recibe debe ser de este tipo y ya asi te sirve. En el servidor haces lo contrario a esta función para recibir el contenido de la variable me explico. Ambos clientdataset deben tener la misma cantidad de campos.
|
Muchas gracias, Soa Pelaez, lo pondré en práctica, puesto que he tenido que ingeniarmelas para hacerlo de otra manera menos ortodoxa. :D.
En cuanto me salga la ocasión, que me saldrá, la pongo en práctica. Muy agradecido. ^\||/ |
La franja horaria es GMT +2. Ahora son las 19:50:06. |
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