Поиск места, куда можно записать(а потом и найти) файлик на машине пользователя.

Автор Тема: Поиск места, куда можно записать(а потом и найти) файлик на машине пользователя.  (Прочитано 19196 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Папка, в которой лежал LISP, при установке прописывалась в путь поддержки
Если под каждый LISP добавлять каталог поиска, то Support File Search Path достаточно быстро превратится в помойку. Тынц.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Да, я помню эту твою довольно толковую задумку. Но тут проблема в том, что этот механизм придется самим разрабатывать и поддерживать. Если бы это каким-то образом было бы внедрено в AutoCAD самим Autodesk'ом, то могло бы стать хорошим стандартом для всех разработчиков. А пока реальность такова, что да, каждое более-менее серьезное приложение добавляет как минимум один путь в SupportPaths. Я говорю не об отдельном LISP файле, а именно о законченном приложении, которое может состоять как из одного, так и из нескольких LSP/DCL/DLL и вспомогательных файлов. Если использовать тот механизм, который предлагает Autodesk - Bundle-пакет, то я пока не могу представить, как можно сделать по другому.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Но тут проблема в том, что этот механизм придется самим разрабатывать и поддерживать. Если бы это каким-то образом было бы внедрено в AutoCAD самим Autodesk'ом, то могло бы стать хорошим стандартом для всех разработчиков.
Какой ещё "механизм"? Чего "поддерживать"? Если говорить о AutoCAD новее чем 2011, то каталоги для размещения bundle-пакетов определены - размещаешь там свои приложения в соответствии с правилами, обозначенными Автодеском в документации (банальный копипаст). Чем не устроил "новый" механизм загрузки от Автодеска? Если говорить о более ранних версиях AutoCAD, то и тут проблем нет - юзер или админ принимает решение о том, в каком каталоге будет хранить все плагины акада и добавляет этот каталог в пути поиска. Затем просто копирует каталоги пользовательских плагинов в этот каталог. Всё. Какой тут "механизм" нужен? Чего там требуется "поддерживать"?
А пока реальность такова, что да, каждое более-менее серьезное приложение добавляет как минимум один путь в SupportPaths. Я говорю не об отдельном LISP файле, а именно о законченном приложении, которое может состоять как из одного, так и из нескольких LSP/DCL/DLL и вспомогательных файлов.
"Серьёзные" приложения относятся к вопросу своего размещения и конфигурирования серьёзно и предоставляют тому, кто устанавливает приложение, указать каталог его размещения. Если указан один из каталогов, присутствующих в каталогах поддержки, то "серьёзному" приложению нет нужды писать дополнительную запись в каталоги поиска, при условии, что оно оперирует относительными путями (т.е. нормально продумано). Если юзер указал иной каталог установки, то тогда этот каталог возможно будет целесообразным добавить в каталоги поиска (но это одна запись, а не отдельная под каждый чих).

Цитата: Дмитрий Загорулькин
Если использовать тот механизм, который предлагает Autodesk - Bundle-пакет, то я пока не могу представить, как можно сделать по другому.
Этой фразы я не понял. Т.е. ты не представляешь, как для Bundle-пакета можно обойтись без добавления новой записи в Support Files Search Path? В документации чётко прописан порядок поиска ресурсов новым механизмом, обрабатывающим такие плагины.

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Я когда на LISP приложения писал, регистрационные данные в реестре хранил. Там же у меня были какие-то настройки, если для их хранения достаточно было одной переменной - строка, число и т.п. Хранил в HKCU/Software/<Мой раздел>/<Подразделы>. Это в качестве альтернативы.
Ни когда с реестром не работал, функции для этого знаю, но опыта не было. Да и полного понимания что такое реестр нет.
На первый взгляд кажется удобнее чем с файлами.
Есть какие-нибудь нюансы, ну типа куда писать нельзя, что писать нельзя, и как всё это может пропасть?

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Есть какие-нибудь нюансы, ну типа куда писать нельзя, что писать нельзя, и как всё это может пропасть?
Безопасность реализована так же как в файловой системе - посредством ACL.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Off-Topic: показать
Ни когда с реестром не работал, функции для этого знаю, но опыта не было. Да и полного понимания что такое реестр нет.
Для записи, чтения и прочего с реестром в лиспе см. функции vl-registry-read, vl-registry-write, vl-registry-delete, vl-registry-descendents. Весьма удобно работать.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн BearDyuginАвтор темы

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Весьма удобно работать.
Да, спасибо, уже почитал http://autolisp.ru/2011/04/11/data-set-and-get-03-2/
Вроде все понятно и просто, попробую, если вопросы возникнут спрошу.