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!