Jump to content

NC21. Загрузка библиотек до открытия документа


Recommended Posts

Поместил в папку

C:\ProgramData\Nanosoft\nanoCAD x64 21.0\DataRW

 

load.config:

 

<?xml version="1.0" encoding="utf-8"?>
<root>
    <list>
        <module path="D:\DLL2\NC21\DynamicConnector\obj\Debug\Sheme1.dll"/>
    </list>
</root>

 

Что то не запускается. В 21 работает как то по другому?

Link to comment
Share on other sites

9 минут назад, Ivanco сказал:

APPLOAD - и там "автозагрузка" менюшка. это не то?

Проверил. Не то

добавлено через 1 минуту

Видимо он пытается через load.config загрузить, но что то идет не так, потому что потом загрузка библиотеки через Netload тоже не возможна.

Link to comment
Share on other sites

17 минут назад, Robink сказал:

 <module path="D:\DLL2\NC21\DynamicConnector\obj\Debug\Sheme1.dll"/>

в чем смысл? как нужно чтобы работало, можно подробнее?

Link to comment
Share on other sites

1 минуту назад, Ivanco сказал:

в чем смысл? как нужно чтобы работало, можно подробнее?

так загрузка библиотеки происходит до открытия в NC документов, соответственно объекты в них будут "живые". Если загрузка произойдет позже, то они будут прокси. Эта метода прекрасно работала в 5.

добавлено через 4 минут

Собственно через NETLOAD загружается библиотека и работает. Автозагрузка через load.config не проходит и дает сбой.

Link to comment
Share on other sites

3 минуты назад, Robink сказал:

так загрузка библиотеки происходит до открытия в NC документов

я че то не допонял.. "автозагрузка" через appload не так работает?

Link to comment
Share on other sites

Только что, Ivanco сказал:

я че то не допонял.. "автозагрузка" через appload не так работает?

Не знаю как она там работает, проверил, так же нет результата.

Link to comment
Share on other sites

"Чемодан" автозагрузки в APPLOAD срабатывает после загрузки первого документа, что для работы с первым документом, действительно, не особо подходит.

 

Создал приложенный load.config в "c:\ProgramData\Nanosoft\nanoCAD x64 21.0\DataRW", пример CustomObjects.dll из SDK грузится на старте, примитив TextInBox в переданном на старте документе живой, и команда TEXTINBOX тоже работает.

 

@Robink, у Вас не работает только на Вашем модуле или и на примере из SDK тоже?

load.config

Link to comment
Share on other sites

1 час назад, ISL сказал:

"Чемодан" автозагрузки в APPLOAD срабатывает после загрузки первого документа, что для работы с первым документом, действительно, не особо подходит.

 

Создал приложенный load.config в "c:\ProgramData\Nanosoft\nanoCAD x64 21.0\DataRW", пример CustomObjects.dll из SDK грузится на старте, примитив TextInBox в переданном на старте документе живой, и команда TEXTINBOX тоже работает.

 

@Robink, у Вас не работает только на Вашем модуле или и на примере из SDK тоже?

load.config 201 \u0411 · 3 загрузки

Скачал SDK, скомпилировал с AnyCPU, поменял путь в файле load.config. Поведение аналогичное, как и с моей библиотекой.

load.config

Edited by Robink
Link to comment
Share on other sites

57 минут назад, ISL сказал:

И с моим модулем так же? Это 64-битный, проверял на 64-битном nanoCAD-е 21.0.5699.3427.5753.

CustomObjects.dll 9 \u043a\u0411 · 1 загрузка

Аналогично. Нанокад такой же. Ваши файлы использовал. Вин7.

 

Оказалось, что я забыл убрать из APPLOAD свою библиотеку, а в ней оказывается такая же команда была - textinbox. Вообщем ни библиотека из SDK не работает (даже через NETLOAD), ни Ваша не работает.

Edited by Robink
Link to comment
Share on other sites

Так и не смог запустить пример из SDK. Создал новый проект, скопировал код из SDK. Вот он запускается и работает автозагрузка через load.config.

Link to comment
Share on other sites

Видны какие-либо отличия, если превратить работающий и оригинальный модули обратно в исходники, например, при помощи ILSpy?

Link to comment
Share on other sites

1 минуту назад, ISL сказал:

Видны какие-либо отличия, если превратить работающий и оригинальный модули обратно в исходники, например, при помощи ILSpy?

Тут я наверное не смогу ответить (квалификации не хватает). Непонятно почему собранная у Вас библиотека у меня не работает. И наверное, это уже не имеет отношения к исходной проблеме.  

Link to comment
Share on other sites

1 час назад, Robink сказал:

Так и не смог запустить пример из SDK

возможно это не имеет отношения к теме...

примеры в SDK при компиляции динамически формируют имя dll (х86... х64) по папкам раскладывает

казалось бы при чем тут это, но..

с именованием при компиляции у меня отваливаются формы WPF((((

если имя dll статическое, все работает....

это я к чему

1 час назад, Robink сказал:

Создал новый проект, скопировал код из SDK. Вот он запускается и работает автозагрузка через load.config.

вышенаписанное пожалуй единственное отличие твоего проекта и примера из SDK, ну кроме того, что в зависимости от разрядности ссылки перелинковываются

---------

это не точно, но проверить можно

Edited by doctorraz
Link to comment
Share on other sites

2 минуты назад, ISL сказал:

Присылайте свою, посмотрю.

Эта та что скомпилирована из SDK. Свое приложение отправить не могу.

CustomObjects.dll

Link to comment
Share on other sites

11 минут назад, Robink сказал:

Эта та что скомпилирована из SDK

хм..

загрузилась, но 

TextInBox TextInBoxEdit

Неправильный ключ или команда

 

 

Link to comment
Share on other sites

Моя — 64-битная, Robink-а — 32-битная. Во всяком случае, они отличаются полем проекта PlatformTarget:

 

<TargetFramework>net45</TargetFramework>

<PlatformTarget>x64</PlatformTarget>

 

<TargetFramework>net45</TargetFramework>

<PlatformTarget>x86</PlatformTarget>

Link to comment
Share on other sites

А как мне дальше свою проблему изучать, запускать NC из среды разработки и ловить исключения?

Попробовал из инициализации убрать регистрацию событий - не помогло. Библиотека увесистая, через Netload загружается и работает, через load.config видимо загружается, но по какой то причине не работает.

Edited by Robink
Link to comment
Share on other sites

У меня всё просто. Ваша 32-битная библиотека грузится только в 32-битный nanoCAD, и через APPLOAD и через load.config. Аналогично, моя 64-битная грузится только в 64-битный nanoCAD.

 

Точно никакой путаницы с этим нет?

Link to comment
Share on other sites

Только что, ISL сказал:

У меня всё просто. Ваша 32-битная библиотека грузится только в 32-битный nanoCAD, и через APPLOAD и через load.config. Аналогично, моя 64-битная грузится только в 64-битный nanoCAD.

 

Точно никакой путаницы с этим нет?

С этим нет путаницы. Моя библиотека, которую перенес с 5 на 21, она загружается прекрасно через Netload и работает в 21 x64, но через load.config загрузка происходит видимо с каким то сбоем, что приводит к ее неработоспособности.

Link to comment
Share on other sites

Чистый MultiCAD.NET? Нет других зависимостей? От классического .NET, например, или от ActiveX.

 

На всякий случай. Галочку "Copy Local" в свойствах ссылок на модули MultiCAD.NET не забыли снять?

Link to comment
Share on other sites

@Robink еще вопрос в инициализации библиотеки, никаких установок , настроек меню, ленты нету?

как нано5 не знаю, но автокад эти вещи до загрузки документа не любит, нано идет по пути консолидации с оригиналом...

Link to comment
Share on other sites

  • 2 months later...
В 20.10.2021 в 16:37, ISL сказал:

Чистый MultiCAD.NET? Нет других зависимостей? От классического .NET, например, или от ActiveX.

 

На всякий случай. Галочку "Copy Local" в свойствах ссылок на модули MultiCAD.NET не забыли снять?

Попробовал и на второй библиотеке своей, так же себя ведет. Прилагаю скрины со ссылками. Copy Local проверил. Пробовал в NC22.

Sheme1_ref_scr.png

Plans_ref_scr.png

добавлено через 2 минуты
В 20.10.2021 в 20:30, doctorraz сказал:

@Robink еще вопрос в инициализации библиотеки, никаких установок , настроек меню, ленты нету?

как нано5 не знаю, но автокад эти вещи до загрузки документа не любит, нано идет по пути консолидации с оригиналом...

Пробовал события отключать. Были интерфейсные дела, так же пробовал отключать. Не влияет.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт? Tell a friend!
×
×
  • Create New...