Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 26-06-2017, 16:31:35

Название: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 26-06-2017, 16:31:35
Подскажите, что делаю нет так.
Ни как ни могу загрузить приложение через автозагрузку
через appload подгружаю файл LSP

содержимое файла LSP такое

Код - Auto/Visual Lisp [Выбрать]
  1. (setq AppPAth "C:\\MyApp\\")
  2. (setq fn (strcat AppPAth "my_app.dll"))
  3. (command "netload" fn)

системные переменные такие:
SECURELOAD = 0
ACADLPASDOC = 1
доверительные пути прописаны

AutoCAD 2015 не загружает мое приложение
А вот если я с командной строки ввожу NETLOAD
и указываю мою dll, то все хорошо загружается.




Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 26-06-2017, 16:49:24
Есть еще 2 файла (acad.LSP, acaddoc.LSP) в папке.
C:\Program Files\Autodesk\AutoCAD 2015\Support

такого вот содержания:
acad.LSP

Код - Auto/Visual Lisp [Выбрать]
  1. (defun-q S::startup()
  2.  (load "SetPath.lsp")
  3.  (load "\\\\SERVER\\IT\\Lisp\\Clean_menu.lsp") ;Загрузка панели очистки и меню с утилитами
  4.  (load "\\\\SERVER\\\IT\\Lisp\\log.lsp")
  5.  (acad_lsp_log)
  6. )
acaddoc.LSP

Код - Auto/Visual Lisp [Выбрать]
  1. (load "\\\\SERVER\\Lisp\\cleandwg.lsp")

Эти два файла могут как-то влиять?
Название: Re: Не загружается приложение NET
Отправлено: Александр Ривилис от 26-06-2017, 17:07:26
(setq AppPAth "C:\\MyApp\\")
Попробуй вместо этого:
Код - Auto/Visual Lisp [Выбрать]
  1. (setq AppPAth "C:/MyApp/")
Ну и установить FILEDIA в 0 до _NETLOAD, а после установить в 1.
Название: Re: Не загружается приложение NET
Отправлено: Александр Пекшев aka Modis от 26-06-2017, 18:25:19
Просто не нужно пользоваться устаревшими и неверными вариантами! Для загрузки net-приложений самое правильное - загрузка с помощью реестра. И все уже давно расписано подробно и с готовыми кодами (http://through-the-interface.typepad.com/through_the_interface/2010/03/creating-demand-loading-entries-automatically-for-your-autocad-application-using-c-f-or-vbnet.html).
Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 26-06-2017, 18:40:46
загрузка с помощью реестра
Можно и через реестр.
Тоже вариант попробую.
Через реестр не такой уж и новый способ.
Ведь через реестр еще аж для 2006 автокада делал.
Название: Re: Не загружается приложение NET
Отправлено: Владимир Шу от 26-06-2017, 20:25:32
https://sites.google.com/site/bushmansnetlaboratory/moi-zametki/mng
Работает без сбоев в акадах с 2010 до 2017

Код - Auto/Visual Lisp [Выбрать]
  1. ;Инициализация менеджера загрузок...
  2.  (defun-q HwdStartup()
  3.  (c:PlaginsManager)
  4.   )
  5.   ;;;Подгружаю .Net библиотеку...
  6.   (defun c:PlaginsManager()
  7.   (setq echo (getvar "cmdecho"))
  8.   (setvar "cmdecho" 1)
  9.   (setq fd (getvar "filedia"))
  10.   (setvar "filedia" 0)
  11.   (command "_netload" "\\\\Hyprostroy/dfs/SystemFolder/tools/AutoCAD tools/AcadPlagins/PlaginsLoader/PlaginsManager.dll")
  12.   (setvar "filedia" fd)
  13.   (setvar "cmdecho" echo)
  14.   )
  15.   ;;;Исключаю возможность перезаписи метода S::STARTUP...
  16.   (setq S::STARTUP (append S::STARTUP HwdStartup))
Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 26-06-2017, 21:26:16
Большое спасибо всем за ответы.
Завтра буду пробовать у пользователей на машинах.

Название: Re: Не загружается приложение NET
Отправлено: Дмитрий Загорулькин от 27-06-2017, 10:07:27
AutoCAD 2015 не загружает мое приложение
Код - Auto/Visual Lisp [Выбрать]
  1. (command "netload" fn)
Вместо command здесь лучше использовать command-s
Просто не нужно пользоваться устаревшими и неверными вариантами! Для загрузки net-приложений самое правильное - загрузка с помощью реестра.
Весьма спорное утверждение.
Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 27-06-2017, 12:06:11
А значениие параметра "LOADCTRLS"
ключа реестра (AutoCAD 2018)
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R22.0\ACAD-1001:419\Applications\
в каком случае какое задавать?
От чего зависит и на что это значение влияет?
Я по реестру походил оно разное для каждого приложения 2, 4, 15, 9 и т.д.

Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 27-06-2017, 12:13:28
это наверное тип приложения:
 15  - это для NET приложений
 13 - для ARX


Название: Re: Не загружается приложение NET
Отправлено: Александр Ривилис от 27-06-2017, 13:23:53
это наверное тип приложения:
 15  - это для NET приложений
 13 - для ARX



Нет. Для .NET-приложения ключ MANAGED равный 1

(https://farm5.staticflickr.com/4206/35397659312_bb3813f4d5_o.png)

А по поводу LOADCTRLS смотри в справке ObjectARX SDK или здесь: http://help.autodesk.com/view/ACD/2017/ITA/?guid=GUID-70D60274-57E0-4B22-8D0C-3C7F212A7CAF
Название: Re: Не загружается приложение NET
Отправлено: Алексей (IdeaSoft) от 30-06-2017, 18:52:11
Всем cпасибо!
Все хорошо загружается и  через реестр и через LSP.

Cамым простым и быстрым решением было:
просто добавить в LSP-файл добавить "-s"

Код - Auto/Visual Lisp [Выбрать]
  1. (command-s "netload" ... )