On 13 April 2011 16:16, laurent laffont <laurent.laffont@gmail.com> wrote:
This works: counter := Class new         superclass: Object;         addInstVarNamed: 'counter';         compile: 'initialize               counter := 0';         compile: 'counterString               ^ counter asString';         compile: 'increment               counter := counter + 1.               self changed:#counterString';         compile: 'decrement               counter := counter - 1.               self changed:#counterString';         new. (UITheme builder newColumn: {   UITheme builder newLabelFor: counter getLabel: #counterString getEnabled: nil.   UITheme builder newRow: {    UITheme builder newButtonFor: counter action: #increment label: '+' help: nil.    UITheme builder newButtonFor: counter action: #decrement label: '-' help: nil.   } }) openInWindowLabeled: 'Counter example'.
This one crashes the VM (tried on PharoOneClick 1.2 OSX, Cog and StackVM): (Class new   superclass: StringMorph;   compile: 'step self contents: Time now printString';   new)    openCenteredInWorld
Any idea ?
yes. because format of the class are not initialized properly. this one works: (Class new superclass: StringMorph; setFormat: StringMorph format; compile: 'step self contents: Time now printString'; new) openCenteredInWorld
Laurent Laffont -Â @lolgzs
Pharo Smalltalk Screencasts: http://www.pharocasts.com/ Blog: http://magaloma.blogspot.com/ Developer group: http://cara74.seasidehosting.st
-- Best regards, Igor Stasenko AKA sig.