L'uso di Timer è piuttosto semplice. L'unica attenzione è sull'uso massivo, perchè può saturare le risorse di sistema e in casi eccessivi rendere impossibile l'uso dell'applicazione.
Ad ogni modo, l'oggetto è presente nella toolbox dell'ide di gambas; basta trascinarla sulla form e impostare il periodo di attivazione (in millisecondi, 1 secondo=1000).
In alternativa, è possibile usarlo all'interno di una classe non grafica (es. un processo sequenziale...). In questo caso basta creare una proprietà di di classe di tipo Timer, e il resto funziona allo stesso modo delle form.
L'oggetto ha una proprietà, come detto, per impostare l'intervallo di tempo tra un tick e il successivo, ovvero, il timer scatena un evento ogni qualvolta scade il tempo prefissato.
Creare un evento Timer in una form è molto semplice: una volta inserito l'oggetto Timer nella form, basta farci un doppio click sopra, e verrà creato automaticamente un metodo
_Timer(); altrimenti è possibile crearlo manualmente con le stesse impostazioni:
PUBLIC SUB Timer1_Timer()
END
All'interno del motodo è possibile inserire tutto il codice necessario per utilizzare il timer all'interno della classe (o Form).
E' da tener ben presente che se le funzioni all'interno dell'evento, superano l'intervallo impostato, l'evento viene chiamato ulteriormente; la cosa può creare grossi problemi, in quanto gli eventi si accavallano, e possono incasinare il lavoro fatto nell'evento precedente.
In questi casi è utile avere la possibilità di disabilitare momentaneamente il timer (c'è un metodo apposito nella stessa classe Timer), che varrà riattivato al termine della procedura.
Il timer è possibile utilizzarlo anche come one-shot (un solo evento), in questo caso è sufficiente disabilitarlo in modo definitivo una volta entrati nel metodo Timer.
Un'altro suggerimento: alla chiusura (destroy) della classe contenente il Timer, è sempre meglio disattivarlo in ogni caso (Enable=FALSE), onde evitare che rimanga appeso e attivo all'interno dell'applicazione, causando guai. In una Form è sufficiente inserirlo nell'evento Close, negli oggetti in genere basta inserirlo nel metodo speciale _free() (come ho spiegato anche nel Wiki).
Spero che la mia descrizione sia stata esauriente.
Ciao