Dim acAppComObj As AcadApplication
на Dim acAppComObj As IAcadApplication
Подскажите, как бы вы сделали перебор всех листов в текущем чертеже и показали бы названия их установленных принтеров с помощью NET?Наверное, на основе этого бы делал: http://through-the-interface.typepad.com/through_the_interface/2007/09/driving-a-basic.html
Что такое транзакция? Вообще для чего она нужна, какую роль она выполняет?А что, уже и гугл забанили? Не ленись юзать поиск: тынц (https://sites.google.com/site/bushmansnetlaboratory/translate-manual/sozdanie-i-redaktirovanie-obektov-autocad/otkrytie-i-zakrytie-obektov/ispolzovanie-tranzakcij-cerez-menedzera-tranzakcij), тынц (http://bushman-andrey.blogspot.ru/search/label/Transaction).
... OpenMode.ForRead - это зачем вообще? Типа получаем массив названий листов...
а если надо будет изменить имя листа, то надо будет выгрузить массив данных, изменить его, а потом загрузить массив в DBDictionary?
А где-то есть просто Layout(i).Name="Имя"? Без заморочек с какой-то транзакцией и т.д.?
Я даже не понял в какой строчке Вашего кода выводится название листа.
На компьютерах с установленным Visual Studio и AutoCAD это работает. На других - нет.Обрати внимание на следующие моменты:
Мне нужно решение, которое я смогу запускать на любых машинах, а не на отдельно взятой или с похожими характеристиками.Этого сделать нельзя. Или тебе придётся извращаться с поздним связыванием или Reflection. Проще написать несколько dll-файлов в зависимости от версии и разрядности AutoCAD.
3. Разрядность x64 у обеих машин!Точно? x64 на XP - это большая редкость.
При сборке решения, папка Release - пустая! DLL сохраняется в папке Debug!Потому что активная конфигурация - DEBUG.
Не пойму, почему меня не пускают на форум по рабочему логину )Или неверный логин, или неверный парооль. Других причин нет.
АГА! А в чем подвох?Подвох в том, что в AutoCAD 2016 acmgd.dll, accoremgd.dll и acdbmgd.dll скомпилированы с .NET 4.5
Обрати внимание на следующие моменты:1. Компилировать обязательно в режим Release, а не Debug.2. Версии AutoCAD должны совпадать.3. Разрядность (x86/x64) AutoCAD должна совпадать (это в случае использования COM/Interop как у тебя.)Если хотя бы одно из условий не выполняется - будет ошибка при выполнении.