So, this was unexpected behaviour? Certainly the way that Bert describes appears to be what happened in my workspace-based tests.
On 7/3/08, Bert Freudenberg bert@freudenbergs.de wrote:
Am 03.07.2008 um 05:27 schrieb Randal L. Schwartz:
"Marcin" == Marcin Tustin mm3@zepler.net writes:
>
Marcin> I recently came across a piece of behaviour which is (sort of) Marcin> understandable, but I wonder if it is how it is supposed to happen or Marcin> not. I was running through the potsdam seaside tutorial, and I change Marcin> the superclass of one of the objects from Object to WAComponent, and Marcin> accepted the change. All the browser tools treated the class as if its Marcin> protocol included the messages of WAComponent, but running code that Marcin> sent WAComponent messages signaled MessageNotUnderstood.
Are you sure you weren't dealing with a previous instance of your old class? I think this kind of a change forks the class def so that new instances have the new superclass, but old instances still have the old class and old superclass (anObsoleteYourClassnameHere).
I could be wrong, but tI think that's how it works.
Smalltalk does not work that way. If the class format changed, all existing instance are bulk-migrated to the new class (by creating new instances and doing a forward-become on all of them).
- Bert -
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
It seems to me anObslote.. class appears when you delete a class, and it is still registered somewhere, still has an instance.
You have a root component called WAComponent, and it is registered with seaside as an application. You delete the class, but not the application, the application will no longer have WAComponent as its root component, but it will be anObsoleteWAComponent.
Is that correct?
On Thu, Jul 3, 2008 at 11:45 AM, Marcin Tustin mm3@zepler.net wrote:
So, this was unexpected behaviour? Certainly the way that Bert describes appears to be what happened in my workspace-based tests.
On 7/3/08, Bert Freudenberg bert@freudenbergs.de wrote:
Am 03.07.2008 um 05:27 schrieb Randal L. Schwartz:
"Marcin" == Marcin Tustin mm3@zepler.net writes:
>> >
Marcin> I recently came across a piece of behaviour which is (sort of) Marcin> understandable, but I wonder if it is how it is supposed to happen or Marcin> not. I was running through the potsdam seaside tutorial, and I change Marcin> the superclass of one of the objects from Object to WAComponent, and Marcin> accepted the change. All the browser tools treated the class as if its Marcin> protocol included the messages of WAComponent, but running code that Marcin> sent WAComponent messages signaled MessageNotUnderstood.
Are you sure you weren't dealing with a previous instance of your old class? I think this kind of a change forks the class def so that new instances have the new superclass, but old instances still have the old class and old superclass (anObsoleteYourClassnameHere).
I could be wrong, but tI think that's how it works.
Smalltalk does not work that way. If the class format changed, all existing instance are bulk-migrated to the new class (by creating new instances and doing a forward-become on all of them).
- Bert -
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
yes, i think its right :)
On Thu, Jul 3, 2008 at 1:13 PM, David Zmick dz0004455@gmail.com wrote:
It seems to me anObslote.. class appears when you delete a class, and it is still registered somewhere, still has an instance.
You have a root component called WAComponent, and it is registered with seaside as an application. You delete the class, but not the application, the application will no longer have WAComponent as its root component, but it will be anObsoleteWAComponent.
Is that correct?
On Thu, Jul 3, 2008 at 11:45 AM, Marcin Tustin mm3@zepler.net wrote:
So, this was unexpected behaviour? Certainly the way that Bert describes appears to be what happened in my workspace-based tests.
On 7/3/08, Bert Freudenberg bert@freudenbergs.de wrote:
Am 03.07.2008 um 05:27 schrieb Randal L. Schwartz:
"Marcin" == Marcin Tustin mm3@zepler.net writes:
>>> >>
Marcin> I recently came across a piece of behaviour which is (sort of) Marcin> understandable, but I wonder if it is how it is supposed to happen or Marcin> not. I was running through the potsdam seaside tutorial, and I change Marcin> the superclass of one of the objects from Object to WAComponent, and Marcin> accepted the change. All the browser tools treated the class as if its Marcin> protocol included the messages of WAComponent, but running code that Marcin> sent WAComponent messages signaled MessageNotUnderstood.
Are you sure you weren't dealing with a previous instance of your old class? I think this kind of a change forks the class def so that new instances have the new superclass, but old instances still have the old class and old superclass (anObsoleteYourClassnameHere).
I could be wrong, but tI think that's how it works.
Smalltalk does not work that way. If the class format changed, all existing instance are bulk-migrated to the new class (by creating new instances and doing a forward-become on all of them).
- Bert -
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- David Zmick /dz0004455\ http://dz0004455.googlepages.com http://dz0004455.blogspot.com
beginners@lists.squeakfoundation.org