Differenze tra le versioni di "Il Componente gb.task e la Classe Task"
(Creata pagina con "Il Componente ''gb.task'' consente di eseguire una Classe in background. Internamente, l'interprete è semplicemente ''biforcato''. Una volta che gb.task è stato seleziona...") |
(Nessuna differenza)
|
Versione attuale delle 13:43, 4 nov 2023
Il Componente gb.task consente di eseguire una Classe in background.
Internamente, l'interprete è semplicemente biforcato.
Una volta che gb.task è stato selezionato nell'IDE, si ottiene una nuova Classe chiamata "Task".
Per eseguire una classe in background:
- La classe deve ereditare Task.
- Deve avere un Metodo pubblico "Main" che non accetta argomenti e non restituisce nulla.
Questo Metodo verrà eseguito in background. I Task in background dovrebbero essere usati normalmente per Task invisibili in background.
Come funziona. E' necessario <BRistanziare la Classe, che verrà eseguita automaticamente non appena verrà eseguito il ciclo di eventi.
L'Oggetto Task solleverà un Evento "_Kill()" quando sarà terminato.
È possibile attendere la fine di un task utilizzando il suo Metodo "Wait()".
È possibile arrestare un task chiamando il suo Metodo "Stop()".
È possibile ottenere l'id del processo di un task con la sua proprietà Handle.
Poiché il metodo è eseguito da un fork, ha accesso a tutte le altre parti del programma, tranne che per il processo principale che esegue il task, che non vedrà alcuna modifica apportata dal task.
Il processo principale può semplicemente modificare alcune variabili pubbliche nella Classe del task per definire gli argomenti del task. Ma la possibilità che il task parli con il processo principale per fornire il risultato del suo lavoro non è ancora stata realizzata.