Не считывает данные из диалога! Неправильный тип аргумента?!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не считывает данные из диалога! Неправильный тип аргумента?!

Не считывает данные из диалога! Неправильный тип аргумента?!

Ответ
Поиск в этой теме
Непрочитано 15.09.2009, 17:47 #1
Не считывает данные из диалога! Неправильный тип аргумента?!
lima
 
Регистрация: 15.09.2009
Сообщений: 2

Здравствуйте, господа! Подскажите, пожалуйста, найти выход из следующей задачи!
Разрабатываю программу для построения прямоугольника из DCL.
Делаю временный выход из диалога, чтобы указать исходную точку. НО Н Е МОГУ ПОНЯТЬ, ПОЧЕМУ ТИП АРГУМЕНТА НЕВЕРНЫЙ: (setqDK (atof(get_tile“gp_d”)))
Но я заметил, что если строку (setq step (start_dialog)) расположить ниже строк присвоения (setq DK (atof (get_tile "gp_d"))) (setq S (atof (get_tile "gp_S"))) данная ошибка не выводится. Но, опять, но: здесь присваиваются значения по умолчанию, т.е. DK=0 и S=0 (вновь вводимые значения не присваиваются).
Имеется DCL:
Код:
[Выделить все]
  gp_5: dialog {
  label="Прямоугольник";
  : boxed_radio_column {
  :edit_box {label="Длина";key="gp_D";edit_with=6;}
  :edit_box {label="Ширина";key="gp_S";edit_width=6;} }
  : row {
  :button { label="построить"; key="Build"; width=8; action= "(done_dialog 3)";} }
  ok_button;
  }
и LSP
Код:
[Выделить все]
  (defun di ()
  (setq dcl_id (load_dialog "R5.dcl"))
  (if (null DK)(setq DK 0))
  (if (null S)(setq S 0))
  (setq step 2)
  (while (>= step 2)
  (if (null (new_dialog "gp_5" dcl_id)) (exit))
  (set_tile "gp_d" (rtos DK 2 5))
  (set_tile "gp_S" (rtos S 2 5))
  (setq step (start_dialog))
  (setq DK (atof (get_tile "gp_D"))) ;;;  ВОТ ЗДЕСЬ ВЫВОДИТ СООБЩЕНИЕ, ЧТО  atof (get_tile "gp_d") ИМЕЕТ НЕВЕРНЫЙ ТИП АРГУМЕНТА stringp: nil
  (setq S (atof (get_tile "gp_S")))
  (action_tile "accept" "(done_dialog 1)")
  (cond
  (= step 3)
  (prong 
  (setq p1 (getpoint))
  (setq p2  (list (+ (car p1) DK) )  (+ (cadr p1) S) ) )
  (command "_rectang" p1 p2)
  )                              ; progn end
  )                              ;cond end
  )                              ; while end
  (unload_dialog dcl_id)
  (princ)
  ) ; end defun
Огромное спасибо!!!

Последний раз редактировалось lima, 15.09.2009 в 21:05.
Просмотров: 2874
 
Непрочитано 15.09.2009, 18:13
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


А так:
Код:
[Выделить все]
(setq DK (atof (get_tile "gp_D")))
?
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 15.09.2009, 20:56
#3
lima


 
Регистрация: 15.09.2009
Сообщений: 2


В принципе так и есть, просто была опечатка в вопросе! Спасибо, исправил.
lima вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Не считывает данные из диалога! Неправильный тип аргумента?!



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление программы «Прокат» Василия Кондрата Владимир М LISP 851 14.03.2023 14:31
DwgRuLispLib: Функция открытия диалога Open\Save As файла (файлов) Supermax Библиотека функций 20 14.03.2018 10:05
Непонятки со связями bezo Расчетные программы 8 06.06.2010 12:34
Проблема с диалогом лиспа при переходе ра русифицированный акад Main Urod LISP 9 21.01.2009 16:54
Как получить данные из диалога DCL. mmax Программирование 4 11.02.2006 22:14