deep problems (Monticello & class methods)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

deep problems (Monticello & class methods)

Ramiro Diaz Trepat
Hello,
   A very strage thing is happening on my image.
   I have a class, called MagmaDSProxy.  Everytime I try to browse its
class methods categories I get an error:
   MessageNotUnderstood: MagmaDSProxy: hasBindigThatBeginsWith:

   Besides this, Monticello started to be unable to save my project.

   I really don't know what is happening.
   I wish I could get my code out with Monticello to start again from
a fresh image.
   I will appreciate any advice.
   Thank you.


   r.



SqueakDebug.log (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: deep problems (Monticello & class methods)

Ramiro Diaz Trepat
Sorry I bothered everyone.
The problem was simply due to that I mistakenly wrote my 3 class
variables on the "poolDictionaries" section.
The browser and Monticello saving problems are solved now.
One question (may be should be for the newbies list), what are these
poolDictionaries? (I never used them)
And why do they generate all this mess?
One more comment.  I was unable to move these class variables from
poolDictionaries to classVariables with their exact names.  I had to
rename all of them.
Bye bye, and sorry for bothering with a silly mistake.




On 7/31/06, Ramiro Diaz Trepat <[hidden email]> wrote:

> Hello,
>    A very strage thing is happening on my image.
>    I have a class, called MagmaDSProxy.  Everytime I try to browse its
> class methods categories I get an error:
>    MessageNotUnderstood: MagmaDSProxy: hasBindigThatBeginsWith:
>
>    Besides this, Monticello started to be unable to save my project.
>
>    I really don't know what is happening.
>    I wish I could get my code out with Monticello to start again from
> a fresh image.
>    I will appreciate any advice.
>    Thank you.
>
>
>    r.
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: deep problems (Monticello & class methods)

Nicolas Cellier-3
Le Mardi 01 Août 2006 05:25, Ramiro Diaz Trepat a écrit :
> Sorry I bothered everyone.
> The problem was simply due to that I mistakenly wrote my 3 class
> variables on the "poolDictionaries" section.
> The browser and Monticello saving problems are solved now.
> One question (may be should be for the newbies list), what are these
> poolDictionaries? (I never used them)

poolDicionaries would better be named sharedVariableDIctionary or sharedPool.
It enables your code to have Shared Global Variables, some kind of global
variables (like Smalltalk) that are accessible only to restricted classes
that declared it.

You get a perfect example with TextConstants. You can use text constants like
CR as a global variable when you declare it  as poolDictionary.

> And why do they generate all this mess?

I guess that with current implementation, poolDictionaries must be declared in
Smalltalk (#TextConstants is a Smalltalk key) and have the right class...

> One more comment.  I was unable to move these class variables from
> poolDictionaries to classVariables with their exact names.  I had to
> rename all of them.
> Bye bye, and sorry for bothering with a silly mistake.
>

Maybe you should operate in two steps
1) remove poolDictionaries
2) rebind in class variables

> On 7/31/06, Ramiro Diaz Trepat <[hidden email]> wrote:
> > Hello,
> >    A very strage thing is happening on my image.
> >    I have a class, called MagmaDSProxy.  Everytime I try to browse its
> > class methods categories I get an error:
> >    MessageNotUnderstood: MagmaDSProxy: hasBindigThatBeginsWith:
> >
> >    Besides this, Monticello started to be unable to save my project.
> >
> >    I really don't know what is happening.
> >    I wish I could get my code out with Monticello to start again from
> > a fresh image.
> >    I will appreciate any advice.
> >    Thank you.
> >
> >
> >    r.

Nicolas


Reply | Threaded
Open this post in threaded view
|

Re: deep problems (Monticello & class methods)

Ramiro Diaz Trepat
Thank you for all the information Nicolas.

On 8/1/06, nicolas cellier <[hidden email]> wrote:
> > One more comment.  I was unable to move these class variables from
> > poolDictionaries to classVariables with their exact names.  I had to
> > rename all of them.
> > Bye bye, and sorry for bothering with a silly mistake.
> >
>
> Maybe you should operate in two steps
> 1) remove poolDictionaries
> 2) rebind in class variables

I will try this.

Reply | Threaded
Open this post in threaded view
|

Re: deep problems (Monticello & class methods)

Damien Cassou-3
In reply to this post by Nicolas Cellier-3
nicolas cellier wrote:
> poolDicionaries would better be named sharedVariableDIctionary or sharedPool.
> It enables your code to have Shared Global Variables, some kind of global
> variables (like Smalltalk) that are accessible only to restricted classes
> that declared it.
>
> You get a perfect example with TextConstants. You can use text constants like
> CR as a global variable when you declare it  as poolDictionary.

Thank you for this explanation. Another question: where are those shared
variables declared ? For example, where is TextConstants ? Is it just in
the image as this, or declared in a class ?

Reply | Threaded
Open this post in threaded view
|

Re: deep problems (Monticello & class methods)

Bert Freudenberg-3

Am 01.08.2006 um 20:54 schrieb Damien Cassou:

> nicolas cellier wrote:
>> poolDicionaries would better be named sharedVariableDIctionary or  
>> sharedPool.
>> It enables your code to have Shared Global Variables, some kind of  
>> global variables (like Smalltalk) that are accessible only to  
>> restricted classes that declared it.
>> You get a perfect example with TextConstants. You can use text  
>> constants like CR as a global variable when you declare it  as  
>> poolDictionary.
>
> Thank you for this explanation. Another question: where are those  
> shared variables declared ? For example, where is TextConstants ?  
> Is it just in the image as this, or declared in a class ?

They used to be simply dictionaries defined in some class. This did  
not scale well, so most have been converted to SharedPool subclasses.

- Bert -