Ciao kahm,
allora.. vediamo un pò : Tu hai un web service che "fa qualcosa" e "restituisce qualcosa", e ok, ma questo cos'ha a che vedere con i thread e la barra di avanzamento? Ora io immagino che o il web service (quando invocato) restituisce un valore di avanzamento per una non meglio definita operazione in background nel server, quindi il thread separato ti serve per chiamare un ipotetico servizio che ti rende il valore di avanzamento senza freezare la UI, oppure vuoi simulare con un timer il tempo ipotetico per l'operazione (come potrebbe essere un conto alla rovescia). Ora io immagino che sia la prima, quantomeno da questo :
codice:s.GetStatoUpload(FTPguid)
sei certo che ogni volta che lo chiami lui ti da la percentuale corretta? non è che è quello che rimane basso? come funziona il sistema, o meglio come nel web service sei a conoscenza della percentuale che verrà poi restituita al client?
Altra cosa: sei certo di aver allineato i valori restituiti dal web service con la progressbar? potrebbe capitare che il massimo è una cifra quasi irraggiungibile (max e steps) e richiedere per questo una marea di steps (quindi vedi la barra sempre molto bassa).
Ma quel Application.DoEvents? che centra? il codice lo sistemiamo dopo magari, non mi sembra proprio corretto...
Come già detto da MItaly spiega meglio...



Rispondi quotando