Author: Marco BreveglieriMarco Breveglieri Date: Sep 10, 2008 03:24
colde ha scritto:
> L'upload funziona perfettamente ma vorrei gestire anche la
> possibilità di bloccare il trasferimento e per fare questo ho inserito
> il comando Abort del componente [...]
Io ho usato un metodo differente, in un contesto simile.
I componenti Indy generalmente hanno degli eventi che vengono scatenati
per restituire lo stato del lavoro in corso (es. byte trasferiti su byte
totali).
All'interno del thread asincrono che sfrutta il componente Indy, ho
predisposto un flag per l'annullamento (campo booleano con una proprietà
per leggerlo/scriverlo).
Negli eventi che vengono scatenati col progredire dell'operazione,
verifico lo stato del flag (che può essere valorizzato a True da un
pulsante nell'interfaccia utente) e, se impostato, invoco "Abort" (la
procedura Delphi, non il metodo del componente) per interrompere il
processo.
|