View Full Version : [VB6] Progress bar che non refresha
Ciao, ho un programma in VB6 che fai dei caricamenti su DB abbastanza lunghi, ho quindi messo una progress bar per monitorarli, e fin qui, tutto ok...il problema è che dopo un pò che 'scrolla', è come se smettesse di fare il repaint, ho chiamato il refresh del form che la contiene , ma non c'è niente da fare...smette di 'progredire' e stop, anche se il caricamento va fino alla fine....cosa sbaglio ?
Grazie!
wingman87
14-05-2009, 12:59
Puoi postare il codice incriminato?
Puoi postare il codice incriminato?
Tutto il codice no, è impossibile, sono una serie (lunga) di calcoli, query sul db (via adodb), ecc...poi il classico miaPb.value = miaPb.value + 1 (visto che ho calcolato il pb.max con un count(*) dei record da leggere).
Ho aggiunto un mioform.refresh, ma lo fa per un pò, poi basta, si blocca.
Così, senza vedere alcun codice :
1. Assicurati che l'attributo della Form "AutoRedraw" sia True.
2. Se con il semplice AutoRedraw a True non noti cambiamenti, allora prova ad inserire una chiamata a DoEvents nel ciclo, dopo ogni incremento del valore progressbar...
Se, come penso, risolve, puoi eliminare eventuali chiamate a Refresh.
Grande , intanto che aspettavo qualche risposta, mi son messo a fare esperimenti, e penso che con DoEvents abbia risolto !!!!
Che strano comportamento!
Grande , intanto che aspettavo qualche risposta, mi son messo a fare esperimenti, e penso che con DoEvents abbia risolto !!!!
Che strano comportamento!
Perchè "strano" ? :D
DoEvents serve proprio per scopi come questo. Se vuoi saperne qualcosa in più dai anche un'occhiata qui :
http://www.hwupgrade.it/forum/showthread.php?t=1954524&page=4
[ mio post #73 ]. :)
Sempre gentilissimo.
Ora mi leggo tutto per bene così aggiungo qualcosa alle mie (scarse) conoscenze di VB!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.