Comunicazione tra moduli e sottomaschere semplificata!

Tradotto automaticamente da Deepl

A partire da 4D v19 R5, la possibilità di associare una variabile a una sottomaschera ha arricchito le possibilità di interfaccia e comunicazione tra moduli e sottomaschere. I mezzi di comunicazione sono ora semplificati da due nuovi comandi: Saluta OBJECT Get subform container value e OBJECT SET SUBFORM CONTAINER VALUE.

Migliorare la comunicazione tra moduli e sottomaschere

Due nuovi comandi

I nuovi comandi OBJECT Get subform container value e OBJECT SET SUBFORM CONTAINER VALUE devono essere utilizzati nel contesto del sottomaschera.

Il primo, OBJECT Get subform container value, sarà usato più spesso quando viene generato un evento On Bound Variable Change, cioè dopo che la variabile (o l’espressione) associata alla sottomaschera del modulo padre è stata modificata. Viene quindi utilizzato per leggere questo nuovo valore.

Il secondo – OBJECT SET SUBFORM CONTAINER VALUE – verrà utilizzato se, dalla sottomaschera, si desidera modificare il valore della variabile (o dell’espressione) associata alla sottomaschera nella maschera madre.

Perché questi comandi?

Finora esistevano due modi per ottenere queste informazioni.

Il modo più semplice(e più recente) è quello di associare una variabile di tipo oggetto alla sottomaschera. In questo caso, gli attributi di questo oggetto sono accessibili direttamente dalla funzione Form all’interno della sottomaschera. Questo funziona bene, ma usare un oggetto quando si ha bisogno di un semplice valore non è necessariamente una buona pratica.

Il secondo modo(più storico) è quello di creare un puntatore alla variabile in questione tramite il comando OBJECT Get pointer con il parametro Object subform container. Questo funziona, ma solo quando un variable è associato a delle sottomaschere. Purtroppo, questo non è possibile quando si tratta di una expression (ad esempio, Form.myValue) perché non è possibile creare un puntatore a un’espressione.

Quindi, questi due comandi rappresentano la soluzione più comoda e diretta per i casi più semplici! Semplificheranno la programmazione dei casi più comuni. Il codice sarà più leggibile e più facile da mantenere.

Divertitevi a programmare con 4D!

Roland Lannuzel
- Product Owner ed esperto di 4D - Dopo aver studiato elettronica, Roland è passato all'IT industriale come sviluppatore e consulente, realizzando soluzioni per i clienti con una varietà di database e tecnologie. Alla fine degli anni '80 si è innamorato di 4D e lo ha utilizzato per scrivere applicazioni aziendali che includono sistemi di contabilità, fatturazione e posta elettronica. Entrato a far parte dell'azienda nel 1997, Roland ha dato il suo prezioso contributo progettando specifiche, strumenti di test e demo, oltre a formare e parlare alla comunità 4D in occasione di numerose conferenze. Continua a plasmare attivamente il futuro di 4D definendo nuove funzionalità e strumenti di sviluppo di database.