Objetos y listas


([N1] lsmsusvilla) #1

Una pregunta cuando creas un objeto le puedes añadir una lista, pero… como te puede devolver una lista el objeto
creas un formulario para seleccionar varios registros, crear objeto, añadir lista al objeto, disparar objeto y como te puede devolver el objeto la lista seleccionada:
1.- Mandar los registros a un un objeto cesta global y luego recuperar la cesta (tengo entendido que consume muchos recursos)
2.- ???

Hay otras opciones??


([N1] wikan) #2

Los objetos tiene entrada y salida, si lanzas un proceso que devuelve una lista, en su subproceso tienes las lista devuelta.

Los del formulario para seleccionar registros…no lo veo. Un formulario es un objeto de ficha, no devuelve listas.


([N1] lsmsusvilla) #3

Ok eso si lo se si abres un formulario puedes: enviar ficha al objeto, pero si el formulario tiene una rejilla como puedes alimentar esa rejilla del formulario con los registros que tienes en otro formulario. La única manera que veo es jugando con las cestas envias los registros a una cesta, abres el otro formulario cargas la cesta, seleccionas los registros que te interesen y luego vuelves a mandar los registros a la cesta. Pero habría otra forma de hacerlo??


([N3] pacosatu) #4

Hola lsmsusvilla.

Precisamente las Cestas se diseñaron para eso: las Cestas globales para compartir Listas entre Objetos distintos del Interfaz y las Cestas locales para compartir Listas entre manejadores de un mismo Objeto.

Y que yo sepa no consumen recursos, no más que cualquier otro objeto de Lista.

Existen muchas formas de traspasar Listas entre objetos, pero ya no son tan LifeIsSoft o requieren el uso del API.

Por citar 3 formas como ejemplo:

  • Puedes construir un string desde el formulario Origen con los ID’s selecionados y pasas ese String al formulario destino.
  • Con el API, desde el formulario Destino obtienes la Lista (VRegisterList) de los registros seleccionados en el formulario Origen.
  • Con el API, desde el formulario Origen guardas los registros seleccionados con la función VRegisterList.saveToData() en un buffer VByteArray y lo pasas al formulario Destino que obtendrá los registros seleccionados con VRegisterList.loadFromData

Saludos
Paco Satué


([N1] lsmsusvilla) #5

Ok muchas gracias imaginaba yo que lo estaba haciendo bien pero nunca se sabe, y por preguntar no pasa nada.

Gracias