En ocasiones es necesario comunicarse entre objetos de Navision con el fin de trasladar información adicional o complementaria al objeto llamado. La opción más utilizada para ello es mediante el pase de parámetros, o sea, desde un objeto ejecutamos a otro pero antes llamamos a una función definida por nosotros.
Por ejemplo: Desde el formulario A ejecutamos el formulario B pasándole algunos parámetros con información adicional.
Primero, en el formulario B deberemos añadir una función con los parámetros a recibir:
SetMisParametros(Param1 : Integer; Param2 : Integer)
MiParametro1 := Param1;
MiParametro2 := Param2;
MiParametro1 y MiParametro2 deben ser definidas como Globales, para que conserven el valor hasta que el objeto sea destruido.
Añadimos código en el evento OnOpenForm del formulario B para comprobar que las variables tienen el valor asignado mediante el pase de parámetros:
Form - OnOpenForm()
MESSAGE('MiParametro1 = %1', miParametro1);
MESSAGE('MiParametro2 = %1', miParametro2);
Segundo, en el formulario A, y antes de ejecutar al formulario B, pasar los parámetros:
control1000000000 - OnPush()
myFormB.SetMisParametros(1, 2); //Pase de parámetros a formulario B
myFormB.RUNMODAL; //Las var. MiParametro1 y MiParametro2 ya tienen valor
CLEAR(myFormB); //Las var. MiParametro1 y MiParametro2 NO tienen valor
Al ejecutar la linea myFormB.RUNMODAL mostrarán 2 mensajes informando del valor de las variables globales del formulario B.
No hay comentarios:
Publicar un comentario