|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Hello, World на AutoCAD .NET DLL
päällikön suunnittelijat
Pietari, Venäjä
Регистрация: 04.12.2010
Сообщений: 63
|
||
Просмотров: 9275
|
|
||||
päällikön suunnittelijat Регистрация: 04.12.2010
Pietari, Venäjä
Сообщений: 63
|
guliaevskij
компиляция с использованием Framework 3.5 предупреждений не дает, но и не помогает, сообщение об ошибке при загрузке остается. При использовании более ранних версий Framework появляются предупреждения типа: Цитата:
Последний раз редактировалось Кулик Алексей aka kpblc, 06.04.2012 в 15:18. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
*mgd.dll из нормального AutoCAD'a подключены? И им установлено copylocal = false?
Из ObjectARX SDK. Хотя для .net-разработки нужны прежде всего acdbmgd.dll и acmgd.dll, насколько я помню. В каталоге установки AutoCAD 2009. Андрей Бушман (hwd) где-то писал насчет использования .NET 4.0 внутри AutoCAD, требующих более ранние версии .NET.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
päällikön suunnittelijat Регистрация: 04.12.2010
Pietari, Venäjä
Сообщений: 63
|
Цитата:
copylocal = false установлено. на странице SDK http://usa.autodesk.com/adsk/servlet...3112&id=785550 можно получить SDK только для версий, начиная с 2011. Где можно взять SDK для более ранних версий? Там ничего похожего не нашел. |
|||
![]() |
|
||||
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
VS 2005 SP1 нужна для чистого ObjectARX (т.е. native C++), а не для .NET API
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
päällikön suunnittelijat Регистрация: 04.12.2010
Pietari, Venäjä
Сообщений: 63
|
Переустановил библиотеки из
C:\ObjectARX 2009\inc-x64\AcMgd.dll C:\ObjectARX 2009\inc-x64\AcDbMgd.dll copylocal = false установлено. Framework 3.5 AutoCAD 2009 Visual Studio 2010 эффект тот же: сообщение "This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded." После чего устанавливаем разрешение на запись C:\Program Files\AutoCAD 2009\acad.exe.config вносим изменения в acad.exe.config как описано в https://sites.google.com/site/bushmansnetlaboratory/faq то есть устанавливаем <supportedRuntime version="v3.5"/> И происходит чудо! Здравствуй, Мир! Спасибо всем. Продолжение следует. Последний раз редактировалось Дмитрий Асташев, 06.04.2012 в 19:57. |
|||
![]() |
|
||||
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Дмитрий Асташев, А зачем вообще нужно качать ObjectARX SDK? Если только для "посмотреть примеры"
З.Ы. С вопросами (да и поиском готовых ответов) по .Net лучше сюда - там больше инфы, хотя здесь больше пользователей. ИМХО |
|||
![]() |
|
||||
päällikön suunnittelijat Регистрация: 04.12.2010
Pietari, Venäjä
Сообщений: 63
|
Хм. Хороший вопрос.
Во-первых, там презентация есть, по крайней мере, для первых шагов все расписано. Во-вторых, там лежат исходники, которые можно поковырять. В-третьих, там лежат файлы acdbmgd.dll и acmgd.dll которые, здесь могу ошибиться, чем-то отличаются одноименных из корня Акада. Спасибо за приглашение, Modis! |
|||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
![]() Цитата:
![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,409
|
Насколько я помню, как раз отличаются - в ObjectARX фактически стоят "заглушки", а в AutoCAD - реальные dll.
Могу ошибаться
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
Нет, я не спорю - может и отличаются, просто моя логика сломалась ![]() |
|||
![]() |
|
||||
päällikön suunnittelijat Регистрация: 04.12.2010
Pietari, Venäjä
Сообщений: 63
|
Цитата:
Цитата:
Коллеги, вы оба правы ![]() |
|||
![]() |
|
||||
Затем, например, что у программиста может быть не установлен AutoCAD, а собрать свою .NET-сборку нужно. Алексей прав - в составе ObjectARX заглушки и именно поэтому нужно CopyLocal устанавливать в False, чтобы при работе использовались dll-ки из самого AutoCAD.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Цитата:
|
|||
![]() |
|
||||
В моём понимании, это библиотека, публичные классы которой имеют в своём составе полный набор необходимых публичных членов (поля, свойства, события, методы, конструкторы, деструкторы и т.п.), но в которых отсутствует собственно сам код реализации.
Похоже, что заглушки от Autodesk - это обычные копии оригиналов, потому как содержат в своих членах код программной логики (ILSpy в помощь). Поскольку для заглушки важно лишь иметь все те же члены, что и у ориганала, то она может отличаться от этого оригинала размером файла и датой создания за счёт того, что исходный код оригинала со временем был перекомпилирован, а уже имеющийся файл заглушки разработчиками не заменялся на обновлённую версию этого оригинала (поскольку для заглушки это не имеет значения). Ключевым моментом здесь является установка для файлов заглушек свойству CopyLocal значения False.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 05.09.2012 в 10:15. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Функции которые все входящие аргументы передают реальной функци и возращают ее "возрат", есть еще схожие так называемые "обертки" - которые делают все то-же самое, но переводя из формата в формат, например Net. WinForms в большинстве своем - обертки на GUI Win Api, а все лисповские vla-get/put-... обертки на соответствующие ActiveX свойства(методы).
p.s.опс опоздал
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
2 Дима_
Заглушки и обёртки - это, на мой взгляд, несколько разные вещи... Заглушка может быть создана как для обёртки, так и для самостоятельной библиотеки.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 05.09.2012 в 10:16. |
||||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
А разве я пишу что одинаковые? В смысле ООП (при статической типизации) - да может быть действительно просто пустой конструктор (необходимый для компиляции), но заглушки же есть не только там - если типизация динамическая - где так-же делают "пустую" заглушку - для тех-же целей (если вдруг программа проверяет наличие члена - просто в этом случае написать ее проще - т.к. не нужно описывать типы входа и выхода).
п.с. Как тобой уже верно замеченно в Автодеске третий вид "заглушек".
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 05.09.2012 в 10:24. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой AutoCAD использовать ? | denes | AutoCAD | 55 | 12.09.2011 14:29 |
Net. Создание и модификация материала | Павлюкас | Готовые программы | 27 | 08.12.2010 10:17 |
Правило формирование записей в реестре об установленных обновлениях для AutoCAD и его вертикальных решений. | hwd | Программирование | 8 | 30.09.2010 15:07 |
Где в реестре хранится информация о том, что в системе когда-то был установлен AutoCAD? | Archeo | AutoCAD | 12 | 14.10.2009 15:24 |
Проблемы с .NET v2 в Autocad 2006 (acad.exe.config)... | Chief Justice | AutoCAD | 2 | 12.08.2006 12:44 |