Тема: Возврат значении во вложенные окна
Помогите пожалуйста разобраться, я в этом деле новичок.
Вобщем написал на DCL диалог и программу на LISP, но, по непонятным для меня причинам, работать не хочет...
А смысл в следующем: появляется окошка с некоторыми выбираемыми из списка числами;
после выбора и нажатия кнопки расчёт происходит закрытия диалогового окошка (а) и открытие другого диалогового окошка (b) c label'ом для текста равным посчитанному значению (+ g s ).
Программа доходит до первого окошка, а при нажатии на кнопку "Результат" выдает:
; error: quit / exit abort
Заранее спасибо
DCL-ка:
a:dialog{label="Пример";
:popup_list{label="Число 1";edit_width=16;key="a1";list="2 \n4 \n6 \n8";value="2";}
:popup_list{label="Число 2";edit_width=16;key="a2";list="3 \n5 \n7 \n9";value="3";}
:spacer{height=1;}
:ok_button{label="Результат"; key="accept"; fixed_width=true;}
}
b:dialog{label="Результат";
:column{label="Результат";
:concatenation{
:text_part{label="Значение";key="b1";}
:text_part{label="";key="b2";}
}
}
spacer_1;
ok_button;
}
LSP-ик:
(defun c:cerr ( / e )
(if (< (setq d (load_dialog "C:\\primer.dcl")) 0)(exit))
(if (not(new_dialog "a" d))(exit))
(action_tile "accept" "(f)")
(start_dialog)
)
;
;
(defun f ( / g s v )
(setq g (atoi (get_tile "a1")))
(setq s (atoi (get_tile "a2")))
(setq v (itoa (+ g s )))
(unload_dialog d)
(if (< (setq n (load_dialog "C:\\primer.dcl")) 0)(exit))
(if (not(new_dialog "b" d))(exit))
(set_tile "b2" v)
(start_dialog)
)