Тема: Загрузка Managed сборок в AutoCAD 2005

В 2005 Acad-е появилась возможность делать Managed Сборки.
Для того чтобы загрузить их в Акад надо вызвать команду netload. Появляется диалог аналогичный appload и там нужну указать сборку...
Как можно еще загрузить сборку в AutoCAD программно любым способом?
С Уважением, Константин.

Re: Загрузка Managed сборок в AutoCAD 2005

Все, спасибо. :)
Нашел способ грузить программно .NET сборки в Acad2002, 2004, 2005, а для 2005 акада можно еще грузить программно и arx сборки с поддержкой Managed Class Wrapers библиотекой ( acmgd.dll и acdbmgd.dll ) без использования команды netload :)

Re: Загрузка Managed сборок в AutoCAD 2005

А что такое "сборки"?

Re: Загрузка Managed сборок в AutoCAD 2005

> Michael
wrote: А что такое "сборки"?
Это относится к технологии .NET Ж:)
Сборки это исполняемые файлы (dll, exe), которые содержат исполняемый код не в виде процессорных команд (двоичный код), а IL инструкции.
Для того чтобы на ПК можно было запустить сборку на исполнение необходима среда CLR. При исполнении кода на IL инструкциях компилятор времени выполнения (Just in Time Compiler) переводит инструкции IL в процессорный код. Что означает что сборка платформенно и процессорно независимая и может запускаться на любых ситемах поддерживающих CLR.
В одном процессе можно загружать на исполнение dll-ки как обычные (unmanaged dll) так и сборки (managed dll).
Подробней см. в гнигах про платформу .NET Ж:)

Re: Загрузка Managed сборок в AutoCAD 2005

> KonstantinM
Да сказки всё это, насчёт плотформенной независимости, об этом даже Microsoft уже почти не заикается - в других системах .Net использоваться практически не будет, это однозначно. К тому же, на самом деле, практически невозможно написать большую программу без привязки к Windows - использование COM и т.п. ставит крест на переносисмости, а без этого никуда...
У меня вызывает большие сомнения целесобразность использования Managed Wrapper (ведь это всего лишь обёртки) для разработки приложений под Авктокад - пользователям и так часто не хватает системных ресурсов, и лишний пожиратель ресурсов ни к чему... Да и в контексте С++ .Net ни к чему - ничего он не даёт.

Re: Загрузка Managed сборок в AutoCAD 2005

> archimag
wrote: Да сказки всё это, насчёт плотформенной независимости
Ж:) Никто и не спорит. Но все же согласисиь, что потенциальная возможность заложена.
wrote: У меня вызывает большие сомнения целесобразность использования Managed Wrapper
Ж:) У меня тоже вызывает сомнения в том виде, в котором это сейчас все есть. Да и работает только в 2005 акаде.
НО! Писать на C# гораздо удобней и производительней! Сборки можно грузить в 2002, 2004, 2005 акад. Можно обеспечить взаимодействие с уже существующим unmanaged кодом на с++ без COM. Можно легко юзать COM Акада. Т.е. грубо говоря, код жестко связанный с Acad и ObjectARX пишет на С++, а все остальное на C#.

Re: Загрузка Managed сборок в AutoCAD 2005

KonstantinM пишет:

Сборки можно грузить в 2002, 2004, 2005 акад

Если не долго объяснять:), КАК ?

Re: Загрузка Managed сборок в AutoCAD 2005

> KonstantinM
>Писать на C# гораздо удобней и производительней!
Я бы сказал, что .Net значительно упрощает использование системных сервисов по сравнению с Win32 API (для С++ есть много различных и действительно переносимых библиотек, которые делают это не хуже). Но в остальном... например, у меня практически весь код построен на шаблонах, которых в C# нет - боюсь даже представить во сколько должен вырасти исходный код smile

> Maxim T
Не знаю что имел ввиду автор топика, но ты всегда можешь использовать компоненты написанные под .Net в простом С++ коде с помощью утилиты Regasm.exe.

Re: Загрузка Managed сборок в AutoCAD 2005

> archimag
>Но в остальном... например, у меня практически весь код
>построен на шаблонах, которых в C# нет - боюсь даже
>представить во сколько должен вырасти исходный код smile
Ж:) Александреску перечитал...  Когда весь код построен на шаблонах надо задуматься, а хорошо ли это... Тут дело на любителя и можно долго спорить о реальной необходимости использования шаблона в той или иной ситуации...
Пока промолчу что на С# уже сделали шаблоены т.к. реально сам их еще не юзал...

Re: Загрузка Managed сборок в AutoCAD 2005

> KonstantinM
Не только Александреску (хотя он, конечно, круче всех), но и многих других smile
После перехода на широкое использование шаблонов мой код стал значительно более гибок и масштабируем, а также появились значительно более широкие возможности повторного использования. Современный С++ без шаблонов не мыслим, тут, по моему, особо обсуждат нечего...

Re: Загрузка Managed сборок в AutoCAD 2005

> archimag
>Не знаю что имел ввиду автор топика, но ты всегда
>можешь использовать компоненты написанные под .Net в
>простом С++ коде с помощью утилиты Regasm.exe.
Автор топика имел ввиду что нашел способ микширования/взаимодействия кода написанного на с++ и С# (.NET) в одном процессе, без использования COM. Но про Regasm.exe - честно слышу впервые - что такое и с чем его едят?

Re: Загрузка Managed сборок в AutoCAD 2005

> KonstantinM
в MSDN есть полная инфа, утилита для создания COM-обёрток из .Net компонентов (если я правильно понял) - сам не использовал (легко догадаться почему).

Re: Загрузка Managed сборок в AutoCAD 2005

> KonstantinM
То ли я такой тупой, то ли лыжи не едут. Но .NET в 2002 и 2004 еще не поддерживается.

Re: Загрузка Managed сборок в AutoCAD 2005

Враперы .NET для 2002 и 2004 еще (и в дальнейшем тоже) не поддерживаются. Это не означает что нельзя загрузить managed dll-ку в AutoCAD :)
Зачем? Что-бы код не зависящий от ObjectARX-а можно было писать на C#. К тому же если надо что-то от автокада, то можно написать враперы самому того что надо от C++ в C#

Re: Загрузка Managed сборок в AutoCAD 2005

Поделитесь как программно загрузить .NET - сборки в Autocad?

Re: Загрузка Managed сборок в AutoCAD 2005

1) Делаете С++ Managed DLL.
2) Грузите ее из arx-а LoadLibrary
3) Далее С++ <-> С++.NET <-> C#
Из С++ Managed DLL - уже можно легко грузить managed сборки.