Comunicación de formularios y subformularios más fácil

Traducido automáticamente de Deepl

A partir de 4D v19 R5, la posibilidad de asociar una variable a un subformulario ha enriquecido las posibilidades de interfaces y de comunicación entre formularios y subformularios. Los medios de comunicación se simplifican ahora con dos nuevos comandos: Saluda a OBJECT Get subform container value y OBJECT SET SUBFORM CONTAINER VALUE.

Mejorar la comunicación entre formularios y subformularios

Dos nuevos comandos

Los nuevos comandos OBJECT Get subform container value y OBJECT SET SUBFORM CONTAINER VALUE deben utilizarse en el contexto del subformulario.

El primero, OBJECT Get subform container value, se utilizará con mayor frecuencia cuando se genere un evento On Bound Variable Change, es decir, después de que se modifique la variable (o la expresión) asociada al subformulario del formulario padre. Por lo tanto, se utiliza para leer este nuevo valor.

El segundo – OBJECT SET SUBFORM CONTAINER VALUE se utilizará si, desde el subformulario, se desea modificar el valor de la variable (o expresión) asociada al subformulario en el formulario padre.

¿Por qué estos comandos?

Hasta ahora, había dos formas de obtener esta información.

La forma más sencilla(y más reciente) es asociar una variable de tipo objeto al subformulario. En este caso, los atributos de este objeto son accesibles directamente por la función Form dentro del subformulario. Esto funciona bien, pero utilizar un objeto cuando se necesita un valor simple no es necesariamente una buena práctica.

La segunda forma(más histórica) es crear un puntero a la variable en cuestión a través del comando OBJECT Get pointer con el parámetro Object subform container. Esto funciona, pero sólo cuando un variable está asociado a subformularios. Lamentablemente, esto no es posible cuando se trata de un expression (por ejemplo, Form.myValue) porque no es posible crear un puntero a una expresión.

Así pues, estos dos comandos representan la solución más conveniente y directa para los casos sencillos. Simplificarán la programación de los casos más comunes. El código será más legible y más fácil de mantener.

¡Disfrute de la programación con 4D!

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.