[Pharo-project] Play and crash

Igor Stasenko siguctua at gmail.com
Wed Apr 13 16:24:32 CEST 2011


On 13 April 2011 16:16, laurent laffont <laurent.laffont at 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.



More information about the Pharo-project mailing list