Comunicação de formulários e subformas facilitada!

Tradução automática de Deepl

Começando com 4D v19 R5, a capacidade de associar uma variável a uma subforma enriqueceu as possibilidades de interfaces e comunicação entre formulários e subformas. Os meios de comunicação são agora simplificados por dois novos comandos: Diga olá a OBJECT Get subform container value e OBJECT SET SUBFORM CONTAINER VALUE.

Melhorar a comunicação entre formulários e subformas

Dois novos comandos

Os novos comandos OBJECT Get subform container value e OBJECT SET SUBFORM CONTAINER VALUE devem ser utilizados no contexto da subforma.

O primeiro – OBJECT Get subform container value será mais frequentemente utilizado quando for gerado um evento On Bound Variable Change, ou seja, após a variável (ou a expressão) associada à subforma do formulário pai ser modificada. Por conseguinte, é utilizado para ler este novo valor.

O segundo – OBJECT SET SUBFORM CONTAINER VALUE será utilizado se, a partir do subforma, se desejar modificar o valor da variável (ou expressão) associada ao subforma no formulário pai.

Porquê estes comandos?

Até agora, existiam duas formas de obter esta informação.

A forma mais simples(e mais recente) é associar uma variável do tipo objecto com a subforma. Neste caso, os atributos deste objecto são acessíveis directamente através da função Form dentro da subforma. Isto funciona bem, mas utilizar um objecto quando é necessário um valor simples não é necessariamente uma boa prática.

A segunda forma(mais histórica) é criar um ponteiro para a variável em questão através do comando OBJECT Get pointer com o parâmetro Object subform container. Isto funciona, mas apenas quando um variable está associado a subformas. Infelizmente, isto não é possível quando se trata de um expression (por exemplo, Form.myValue), porque não é possível criar um ponteiro para uma expressão.

Portanto, estes dois comandos representam a solução mais conveniente e directa para casos simples! Irá simplificar a programação dos casos mais comuns. O código será mais legível e mais fácil de manter.

Desfrute da programação com 4D!

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.