Hi David,

I see that the (newButton) is using two globals in creating a new +Person,
but the +TextField's use +E/R, which connects GUI components to database
objects. If I am not mistaken, +E/R uses a locking mechanism to stop
several users from changing objects at the same time. Usually, there is an
(editButton) involved to allow a user to lock the object, make
modifications and release the lock once the modifications are done. You can
find examples of this in the demo app shipped with the PicoLisp

Try changing these lines:

(gui '(+E/R +TextField) '(name : home obj) 40 "Name")
(gui '(+E/R +TextField) '(email : home obj) 40 "Email")

To this:

(gui '(+Var +TextField) '*Name 40 "Name")
(gui '(+Var +TextField) '*EMail 40 "Email")

This uses a '+Var' prefix class to connect the gui components to a variable
instead. This variable is used by (newButton) to create a new object.

Best regards,

Reply via email to