>I said to use a tmp variable - not a tmp class
Well, in order to copy something into something, both entities have to be the same definition. In my case, oProcess.oApp.Tables is a NameObjectCollectionBase class and this is what I need to copy. For some kind of reason .NET does not want to allow me to do that. I have made a perfect copy but only changed the name. That did not work. I also copied the entire structure and assigned new names. This also did not work.
If that would work, that would be the resolution I am looking for. That also does not require a lock. This would be perfect. There has to be something I do not understand. Have you tried to make a NameObjectCollectionBase small class, such as copying my code, and try to copy that into another one and them make the copy?
>You instantiate a new Tables(), popuplate it, then assign it to App.oApp.Tables
True
>Before assigning the new instance - everyone will access the 'older' version. After assigning it, every one will acces the newer version
True