Manejadores de Objetos


([N4] ikonos) #1

Situación 1:
- por una parte tengo un PROCESO con distintas variables locales (var_pro_1, var_pro_2, ...). Este proceso tras realizar determinadas operaciones guarda valores (resultados) en sus variables locales.
- por otra parte desde un evento en un formulario, cuando manejamos el PROCESO pasandole valores y recogiendolos de la forma:

crear manejador de objeto (PROCESO, proceso@...)
set variable local objeto (PROCESO, var_pro_1,valor1)
disparar objeto (PROCESO, 1º plano, ,)
- get variable local de objeto (PROCESO, var_pro_2, var_local)

los resultados en las variables locales del formulario se obtienen sin problemas. Esta forma de interactuar y comunicar a traves de variables locales distintos objetos con un PROCESO, resulta muy util y limpia, pero fijaros que el proceso no interviene el usuario, se trata de un cálculo automático.

Situación 2: En esta situación me gustaria actuar de la misma manera, pero no con un proceso, sino con otro formulario y me he encontrado algun problema (seguramente algo haré mal).

- por una parte tengo un FORMULARIO1 con distintas variables locales (var_pro_1, var_pro_2, ...), el formulario también realiza calculos, pero las especificaciones de los mismos las selecciona en el directamente el usuario.

- por otra parte desde un evento en otro formulario (FORMULARIO2) cuando manejamos el FORMULARIO1 pasandole valores y recogiendo valores de la forma:

crear manejador de objeto (FORMULARIO1, proceso@...)
set variable local de objeto (FORMULARIO1, var_pro_1,valor1)
disparar objeto (FORMULARIO1, 1º plano, ,)
- get variable local de objeto (FORMULARIO1, var_pro_2, var_local)

me encuentro lo siguiente, el paso de valores al formulario1 mediante la instrucción "set variable local de objeto" funciona correctamente y se presentan en el formulario1 sin problemas (esto va de categoria para pasar condiciones iniciales, y permite al usurio interactuar con el formulario para realizar los calculos oportunos). Pero en esta ocasión, a la hora de recoger los valores con la instrucción "get variable local de objeto" no obtengo ningún resultado. ¿que hago mal? ¿alguien utiliza este metodo con formularios?

Esta claro que puedo enlazar el formulario con una tabla en memoria guardar en ellas el retorno de los calculos y en la llamada utilizar solo:

crear manejador de objeto (FORMULARIO1, proceso@...)
set variable local de objeto (FORMULARIO1, var_pro_1,valor1)
disparar objeto (FORMULARIO1, 1º plano, ,)

y seguir el evento con instrucciones para que cargue la tabla en memoria y me devuelva el ultimo registro de la misma con los calculos que quiero. Pero esta no es la solución más deseable me gustaria no necesitar una tabla de apoyo y tampoco quiero oir hablar de varibles globales.

¿Alguna idea de que sucede?


([N4] vnexo) #2

Hola
Esto funciona OK, solo que si el formulario 2 no esta enlazado a datos, no produce salida con lo que tienes que colocar el "get variable local del objeto" fuera de la rama del disparar objeto.
Te lo adjunto.
Un saludo
Manolo

[attachment=16727,1376]


([N4] ikonos) #3

@vnexo,

Muchas gracias por la ayuda! Me alegra saber que funciona Ok, por que precisamente esta forma de actuar con manejadores de objetos tiene mucha pontencia, y con formularios todavia más. Gracias otra vez.

Un saludo.

P.D. Esta claro que en la comunidad Velneo el "comodin del público" tambien funciona Ok.


([N4] vnexo) #4

Si, es de gran ayuda el foro.
Yo lo consulto casi mas que la zona info.
Me paso este problema con procesos que no devuelven si lista ni ficha. Directamente todo lo que cuelga del disparar objeto no lo considera y no lo ejecuta.

Un saludo