Thanks, after a friend pointing, I would be handled this way:
The friend knew there any easier way to deal with such a procedure!
(defun test_dcl()
(setq dcl_id (load_dialog "tt_dcl"));载入DCL文件
(if (< dcl_id 0) (exit))
(if (not (new_dialog "tt_dcl" dcl_id)) (exit));
(or $GUOJUN-tt222$ (setq $JUNJUN-tt222$ "20"))
(set_tile "tt222" $GUOJUN-tt222$)
...
(action_tile "accept" "(s_rect)(done_dialog 1)")
(action_tile "cancel" "(T(exit))")
(start_dialog)
(unload_dialog dcl_id)
)
(defun s_rect ()
(setq tt (atof (get_tile "tt222"))
...
)
(setq $JUNJUN-tt222$ (get_tile "tt222")
...
)
)