Forzare la rilettura di un record visualizzato
Jump to navigation
Jump to search
Se si modifica dei valori di un record già aperto va ricaricato in schermata (spesso si fa tramite delle azioni scatenate da menu/pulsanti).
Nel caso non lo si faccia si può verificare o la perdita della modifica (perché viene riscritto il dato vecchio ancora presente in videata)
o esce il messaggio di errore "Obsolete record" (nel caso si cerchi di fare delle modifiche ed il sistema si accorge dell'incongruenza).
Esiste una variabile globale apposita: GSTALIT.
Eccone alcuni esempi d'uso:
$FIN_ACTION Case REPONSE When GSTALIT : Gosub RELIT From GOBJSUB : SUIZON="CODACE" Endcase
Dentro $FERME o $FIN
#Se si arriva da un tunnel si imposta mkstat in modo che forzi la rilettura al ritorno dal tunnel stesso If GFONC1 = "GESSQH" mkstat=GSTALIT Endif
Subprog CL_BTN(VALEUR) Variable Char VALEUR() # Per forzare la rilettura dopo l'esecuzione dell'azione Click mkstat = GSTALIT End
Un modo artigianale per ricaricare il record dopo un'azione ad esempio di un bottone è questo:
- inizializzare una variabile globale in coda all'azione:
Global Char YGRELIT
- nell'azione AVANT_CHOI, testare la presenza della variabile ed eseguire
Gosub RELIT from GOBJSUB
$AVANT_CHOI #Rilettura del record If dim(YGRELIT) > 0 Then Kill YGRELIT Gosub RELIT From GOBJSUB Endif Return