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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание vlx-файла с dcl-файлом внутри

создание vlx-файла с dcl-файлом внутри

Ответ
Поиск в этой теме
Непрочитано 01.11.2011, 22:40 #1
создание vlx-файла с dcl-файлом внутри
proektant-minsk
 
Проектировщик ОВ
 
Минск
Регистрация: 15.10.2010
Сообщений: 42

Пример взят из Полещука

show_tpos.lsp
Пример функции, вызывающей простое диалоговое окно из файла d_tpos.dcl (см. лис-
тинги 3.1 и 3.2).
Загрузка: (load "show_tpos.lsp")
Вызов: (show_tpos)

Код:
[Выделить все]
 
(defun show_tpos ( / dcl_id)
  (if (< (setq dcl_id (load_dialog "d_tpos.dcl")) 0)(exit))
  (if (not (new_dialog "np_tpos" dcl_id)) (exit))
  (start_dialog)
  (unload_dialog dcl_id)
  (princ)
);defun show_tpos
Код:
[Выделить все]
 np_tpos: dialog{label="Íàñòðîéêà äàííûõ ïîñòåëè è òàáëèöû";
  :edit_box{label="Øèðèíà òàáëèöû";key="kShir";value="750";edit_width=6;}
  :edit_box{label="Âûñîòà òàáëèöû";key="kVys";value="300";edit_width=6;}
  :edit_box{label="Âûñîòà áóêâ";key="kHbuk";value="180";edit_width=6;}
  :spacer{height=1;}
  :edit_box{label="Êîëè÷åñòâî áàëîê";key="kNumbalk";
            value="8";edit_width=6;}
  :edit_box{label="Êîëè÷åñòâî êîêñîâ â áàëêàõ";key="kNumkoks";
            value="17";edit_width=6;}
  :spacer{height=1;}
  :radio_row{label="Áàëêè ðàñïîëàãàþòñÿ â òàáëèöå";
    :radio_button{label="ïî ñòîëáöàì";key="kPoStolb";value="1";}
    :radio_button{label="ïî ñòðîêàì";key="kPoStrok";value="0";}
  }
  :spacer{height=1;}
  ok_cancel;
}// êîíåö np_tpos
помещаю оба данных файла в сборку vlx
из автокада данный vlx-файл загружаю
(show_tpos) в коммандную строку ввожу
и...


...нефига
Просмотров: 4909
 
Непрочитано 01.11.2011, 22:55
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Может, и без vlx можно обойтись?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.11.2011, 23:27
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


никакиких вылыиксов... лучше сначала разберитесь с программой иначе компилить придется раз 100, а то и больше
gomer вне форума  
 
Автор темы   Непрочитано 01.11.2011, 23:30
#4
proektant-minsk

Проектировщик ОВ
 
Регистрация: 15.10.2010
Минск
Сообщений: 42


Спасибо, я эту статью прочел еще раньше, однако и сам автор за меня очень хорошо выразился по поводу проблемы
"И молиться всем богам, чтобы пользователь правильно расположил файлы и ничего при этом не потерял. Или второй вариант – компилировать оба файла в vlx и отдавать уже скомпилированную сборку."
Мою сборку будут юзать и другие люди, и довольно большое количество, и каждому обьяснять что файлик с буковками dcl на конце, нужно хранить обязательно в этой папочке я не могу и не хочу.
Изучать DCL начал недавно (вчера ) и сразу возникло желание скомпилировать что-нибудь готовенькое, однако в первом посте изложил что из этого вышло.
Может быть я что-то не так понимаю, но разве когда в сборку vlx я помещаю *dcl И *lsp файлы, то разве функция в файле *lsp (load_dialog "d_tpos.dcl") не должна искать файл d_tpos.dcl вyenhb сборки???
proektant-minsk вне форума  
 
Непрочитано 01.11.2011, 23:50
#5
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от proektant-minsk Посмотреть сообщение
Изучать DCL начал недавно
Сугубо ИХМО - бросьте это дело (как это давно сделала сама автодеск), на сегодняшний день в DCL, кроме понимания того - как раньше было плохо, ничего полезного нет - рано или поздно Вы придете к тому чего DCL не может - и придеться все коментировать и переписывать (у меня после нескольких таких "расширяемых" проектов на DCL табу - какая бы простая задача изначально не казалась) - учиться лучше на чужих ошибках.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 01.11.2011, 23:56
#6
proektant-minsk

Проектировщик ОВ
 
Регистрация: 15.10.2010
Минск
Сообщений: 42


Дима_, спасибо за совет. Но вопрос свой не снимаю.
proektant-minsk вне форума  
 
Непрочитано 02.11.2011, 00:33
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Не помешает немного изменить код lisp:
Код:
[Выделить все]
 
(defun show_tpos (/ dcl_id)
  (if (< (setq dcl_id (load_dialog "d_tpos")) 0)
    (progn
      (alert "Ошибка загрузки диалога")
      (exit)
      ) ;_ end of progn
    ) ;_ end of if
  (if (not (new_dialog "np_tpos" dcl_id))
    (progn
      (alert "Ошибка создания диалога")
      (exit)
      ) ;_ end of progn
    ) ;_ end of if
  (start_dialog)
  (unload_dialog dcl_id)
  (princ)
  ) ;_ end of defun
А так - ну, скомпилировалась у меня сборка, все нормально получилось. Конечно, диалог не вызвался - там сплошные крякозябры, которые лично мне переводить лениво
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.11.2011, 01:37
#8
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


и компилится и диалог показывает (с кракозябрами, конечно)
че-то автор напутал, наверное
Vov.Ka вне форума  
 
Непрочитано 02.11.2011, 02:10
#9
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
(setq dcl_id (load_dialog "d_tpos"))
достаточно, если это vlx
тоже самое с (new_dialog "np_tpos" dcl_id)
Цитата:
Сообщение от Vov.Ka Посмотреть сообщение
и компилится и диалог показывает (с кракозябрами, конечно)
нечего прямо из vlide сюда копировать
gomer вне форума  
 
Непрочитано 08.11.2011, 17:59
#10
Евгений А.

Армспорт
 
Регистрация: 18.07.2006
Ейск
Сообщений: 355


Разные настройки компиляторов - поэтому не у каждого может скомпилироваться.
Во-первых пропиши адрес dcl файла полностью начиная с диска.
Во-вторых начни код так:

Код:
[Выделить все]
 (vl-doc-export 'show_tpos)
(defun show_tpos ( / dcl_id)....
либо используй имя функции типа "c:show_tpos" - тогда к ней будет общий доступ.
Евгений А. вне форума  
 
Непрочитано 08.11.2011, 18:29
#11
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от proektant-minsk Посмотреть сообщение
Или второй вариант – компилировать оба файла в vlx и отдавать уже скомпилированную сборку."
Мою сборку будут юзать и другие люди, и довольно большое количество, и каждому обьяснять что файлик с буковками dcl на конце, нужно хранить обязательно в этой папочке я не могу и не хочу.
Изучать DCL начал недавно (вчера ) и сразу возникло желание скомпилировать что-нибудь готовенькое, однако в первом посте изложил что из этого вышло.
Не знаю как Вы компилируете оба файла в vlx , надеюсь что по-теории, т.е. компилируете Проект (или 1 файлик). Или по другому?

Я делаю так.
Чтобы сборка была правильной, необходимо проверить свойства...
Файл-Собрать приложения-Свойства имеющихся приложений. И тогда в закладке "Загрузка файлов" указываете Проект, а в закладке "Файлы ресурсов" - файлы Dcl...
Для проверки. После компиляции исходный текст DCL будет виден в конце файла VLX при просмотре в текстовом редакторе.
Миниатюры
Нажмите на изображение для увеличения
Название: DcL_Project.JPG
Просмотров: 91
Размер:	69.4 Кб
ID:	69194  
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 08.11.2011 в 18:42.
Alan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > создание vlx-файла с dcl-файлом внутри

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание графика в AutoCAD на основе txt или xls файла Red Nova Программирование 116 06.04.2017 09:20
AutoCAD Civil 3D 2010. Создание профиля на основе файла rassom Вертикальные решения на базе AutoCAD 8 23.10.2012 08:57
Создание DCL Zaghim Программирование 54 09.04.2011 12:12
Как отключить создание каждый раз нового файла .bak при нажатии на кнопку "Сохранить" или при закрытии любого файла .dwg в Автокад 2008? gve2005 AutoCAD 4 30.10.2009 10:30