Quote Originariamente inviata da Kahm Visualizza il messaggio
no, il problema non è il webservice, o almeno no ho il codice sottomano per dirlo,
da quel che ricordo il programmatore che si occupava di cio (altra ditta), non usava
i thread, ma penso che abbia messo su solo semplici funzioni.

il problema è che al client non ho la reale situazione di dove è arrivato
con il codice che ho fatto ho solo un paio di indicazioni sullo stato di avanzamento, e cmq
dici he non va bene il codice?
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...