On 4 April 2012 23:25, <csrabak@bol.com.br> wrote:
Mariano,
In fact, presently use of become is not considered good OOP so at first my humble suggestion is you consider revising the whole architecture in order to understand why you need such a thing and find a better [design] pattern.
there is no other way to represent an object by proxy, which is not yet in memory, but loaded on demand. otherwise you will be forced to make an outer object (which refers to a proxy), to know it and replace a reference to it with another object.
HTH
-- Cesar Rabak
Em 04/04/2012 12:32, Mariano Martinez Peck < marianopeck@gmail.com > escreveu:
Hi guys.  I noticed that there is  a limit in the  number of objects you can  become. In  my case, I  am becoming 2312157  objects. So..I don't  expect that  the  become works.  I  imagine that  it was  not designed for so many objects in mind ;)  However, what I would really  understand is where is the limitation  and the  reason. And of course,  if someone already  knows which is  the real number limit. Otherwise, I will do a kind of binary search  and discover it.  If you want to reproduce it: | dict | dict := Dictionary new. 2312157 timesRepeat: [ dict at: Object new put: Object new ]. 3 timesRepeat: [Smalltalk garbageCollect]. dict keys elementsForwardIdentityTo: dict values.
throws a #primitiveFailed.
Thanks,
-- Best regards, Igor Stasenko.