hemouse wrote: It seem that the program's interface can't updated until this long task has finished, what shoud I do in such case? As I posted, I suggest, updating not via timer, but polling data from a queue in another thread. Maybe it helps if you read my code, I have troubles with painting, so we could exchange our projs. But only if you sware not to laugh about me and my coding "style" :) :) :) :) ! Forget the email I sent yesterday, I'm on track about your question again!