Thanks Alex, its working. Its been quite a learning experience.
regs Konrad On Sat, Mar 10, 2012 at 7:20 PM, Alexander Burger <a...@software-lab.de> wrote: > Hi Konrad, > >> The code is still crashing and it has something to do with how I'm >> using the class field. > > OK, I found two more errors: > > > 1. The chart's put function should not set the class field to 'This' > > (list This (: nm) (diestr (: level)) (: notes)) > > but to the object's type (i.e. th list of classes) > > (list (type This) (: nm) (diestr (: level)) (: notes)) > > > 2. Then, the return value of the get function is wrong. It returns > the 'Data' list (the visual representation): > > (put!> Itm 'notes (cadddr Data)) > Data ) > ((car Data) > > It must be the object 'Itm' in the current row > > (put!> Itm 'notes (cadddr Data)) > Itm ) > ((car Data) > > > With that, we have: > > (gui '(+Set +E/R +Chart) '((L) (filter bool L)) '(gear : home obj) 5 > '((Itm) > (with Itm > (list (type This) (: nm) (diestr (: level)) (: notes)) ) ) > '((Data Itm) > (cond > (Itm > (put!> Itm 'nm (cadr Data)) > (put!> Itm 'level (caddr Data)) > (put!> Itm 'notes (cadddr Data)) > Itm ) > ((car Data) > (new! (car Data) > 'nm (cadr Data) > 'level (diestr (caddr Data)) > 'notes (cadddr Data) ) ) ) ) ) > (<table> NIL NIL > '((NIL "Type") (NIL "Name") (NIL "Level") (NIL "Notes")) > (do 3 > (<row> NIL > (gui 1 '(+ClassField) '(curr) > '(("Armour" +Armour +Item) ("Weapon" +Weapon +Item) ("Item" > +Item)) ) > (gui 2 '(+TextField) 10) > (gui 3 '(+TextField) 4) > (gui 4 '(+TextField) 30) > (gui 5 '(+DelRowButton)) ) ) ) > (scroll 3 T) > > Cheers, > - Alex > -- > UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe -- read my mind at: http://the-willows.blogspot.com/ -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe