I see. So if I wrap the whole thing inside Application.Invoke.... it should work ? Or do I still need to create a new variable inside for loop.
Hm.. I wonder how this Application.Invoke effects performance if I use it alot. If I'm making big calculations or long loops inside Application.Invoke ? Thanks for all the answers Nil Gradisnik On 3/22/07, Miguel de Icaza <[EMAIL PROTECTED]> wrote: > Hello, > > > I need your opinion on this one. I'm running a Thread which starts this > > function named PopulateTreevew() and in there this is what happens: > > First of all, you are queueing three calls: clear, the appends and the > setting of the model. You should do all at once. > > Second, like Juan pointed out what happens is that the "i" variable is > captured, which means that they all will see the same value of i (which > is 10 by the time the loop is over). > > If you want to use that setup, you need to create a new variable inside > the for loop: > > int j = i; > > So that you have a copy that has the value at that point in time, and > thats the value that will get captured. > > For more details, see the C# specification. > > Miguel > > _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list