It just occurred to me last night that you may not have initialized the tiles.
new_dialog creates the tiles however they have to be initialized with a value.
I'll give a simple example based on part of your design that will create a session only Gremlin:
<<new_dialog>>
** INITIALIZE **
(if (not USER_MyDCL)
(setq USER_MyDCL (list "0" "22" "0" "333" "1"))
);if
** SET TILE **
(set_tile "TogA1" (nth 0 USER_MyDCL)) ;enable boxed columns
(set_tile "EdiB1" (nth 1 USER_MyDCL)) ;edit box 1
(set_tile "TogB1" (nth 2 USER_MyDCL)) ;toggle 1
(set_tile "EdiB2" (nth 3 USER_MyDCL)) ;edit box 2
(set_tile "TogB2" (nth 4 USER_MyDCL)) ;toggle 2
** MODE TILE **
here you determine the modes and in this case reverse the order from set tile.
** ACTION TILE **
here is where all the action tiles belong
(action_tile "accept" "(MyDCL_GET)(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
<<(setq sd (start_dialog))>>
where
(defun MyDCL_GET ()
(setq USER_MyDCL (list
(get_tile "TogA1")
(get_tile "EdiB1")
(get_tile "TogB1")
(get_tile "EdiB2")
(get_tile "TogB2")
))
),end MyDCL_GET
What happens here is that values are remembered from the dialog's state
at time of close and recreated when dialog is reopened. This Gremlin is
also a carrier of information when one enters the main part of the program.
Hope this helps.
Scot-65
A gift of extraordinary Common Sense does not require an Acronym Suffix to be added to my given name.