Buon giorno Aurora,
il metodo Notify() può essere utilizzato per notificare i clients di
un server di uno/più cambiamenti.
Faccio un esempio:
sulla DataWindow "DW1" ho collegato un DBServer "DBS1" con un campo
"campo1".
Se eseguo sulla nella finestra il metodo:
oDW1:Notify( NOTIFYFIELDCHANGE, #Campo1 )
la finestra rileggerà il contenuto del campo "campo1" dal server
sottostante (attenzione: non dal disco!).
Questa funzione è particolarmente indicata nel caso di campi calcolati
tramite un access. Prendiamo il caso di un campo valore:
access valore class DBS1
return self:FieldGet( #quantita ) * self:Fieldget( #prezzo )
Nella finestra si potrebbe creare un metodo
method Notify( kNotify, uDesc ) class DW1
local uReturn as usual
uReturn := super:Notify( kNotify, uDesc )
if kNotify == NOTIFYFIELDCHANGE .and. IsSymbol( uDesc ) ;
.and. ( uDesc == #quantita .or uDesc == #prezzo )
oDCValore:Value := self:Server:Valore
endif
return uReturn
Nel momento che viene modificato uno dei campi "quantita" oppure
"prezzo", verrà mandato il messaggio di Notify alla finestra che
provvederà a mettere il valore giusto nel campo "valore".
Spero di aver reso l'idea.
Saluti
Wolfgang
--