как подключить *.arx в VB.NET...

Автор Тема: как подключить *.arx в VB.NET...  (Прочитано 18956 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
как подключить *.arx в VB.NET...
« : 23-04-2014, 11:32:16 »
Привет всем. Нужна Ваша помощь.
После перехода с VBA на VB.NET не могу подключить *PropertiesPalette_r18x64.arx.
----
ниже:
1. подключение *.arx к VBA.
2. искользование *.arx в проекте, доступ к свойствам и функциям.
« Последнее редактирование: 24-04-2014, 12:04:53 от Agens »
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: как подключить *.arx в VB.NET...
« Ответ #1 : 23-04-2014, 19:06:53 »
Вот из той tlb-библиотеки, которую ты тщательно замазал (совершенно непонятно зачем), нужно будет сделать Interop Dll, который и можно будет подключить к VB.NET
Для этой цели обычно пользуются утилитой TLBIMP.EXE
Обычно она в составе Visual Studio, но возможно тебе понадобится соответствующая версия Visual Studio (скорее всего 2008)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: как подключить *.arx в VB.NET...
« Ответ #2 : 23-04-2014, 22:49:09 »

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #3 : 24-04-2014, 11:12:50 »
Спасибо. Вроде получилось. Разбираюсь на сколько силен.
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #4 : 24-04-2014, 11:34:43 »
здесь "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools"
выполняю "tlbimp C:\Program Files\MagiCAD\MAGIMCPropertiesPalette_r18x64.arx" /out:"C:\ObjectARX2012\MAGIMCPropertiesPalette_r18x64.dll" /namespace:AGMCPP.4.0"
ответ:
Цитировать
Microsoft (R) .NET Framework Type Library to Assembly Converter 4.0.30319.17929
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : warning TI3002 : Importing a type library into a platform agnostic asse
mbly.  This can cause errors if the type library is not truly platform agnostic.

TlbImp : warning TI3016 : The type library importer could not convert the signat
ure for the member 'AGMCPP.4.0.tagCALPOLESTR.pElems'.
TlbImp : warning TI3016 : The type library importer could not convert the signat
ure for the member 'AGMCPP.4.0.tagCADWORD.pElems'.
TlbImp : Type library imported to C:\ObjectARX 2012\MAGIMCPropertiesPalette_r18x
64.dll
не подскажите, что за ошибки?
я вообще не программист, поэтому вопросы могут быть смешными... dll я импортировал в VB, даже в браузере видны свойства и методы, но в коде из нет, не знаю что делать...
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: как подключить *.arx в VB.NET...
« Ответ #5 : 24-04-2014, 11:37:01 »
В референсах проекта библиотека подключена?

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #6 : 24-04-2014, 11:39:09 »
Подключи как и Acad.Interop...
Поставил галку True на копирование локально...
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: как подключить *.arx в VB.NET...
« Ответ #7 : 24-04-2014, 11:41:19 »
Agens
1. Во-первых подозреваю, что не та версия TLBIMP, о чем я выше писал и  Андрей Бушман указывал у себя в блоге, т.к. скорее всего у тебя линейка AutoCAD 2010...2012 и соотвественно нужно .NET 3.5
2. У тебя нет указания параметра /machine:x64
« Последнее редактирование: 24-04-2014, 12:00:41 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #8 : 24-04-2014, 11:43:34 »
Спасибо огромное, что помогаете. Сейчам буду экспериментировать...
а помему еще тут "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64" "TlbImp.exe" есть?
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #9 : 24-04-2014, 11:44:40 »
Под 3.5 делал, с.час отпишусь...
Цитировать
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>tlbimp "C:\Program Files
\MagiCAD\MAGIMCPropertiesPalette_r18x64.arx" /out:"C:\ObjectARX 2012\AGMCPP.3.5.
dll" /namespace:AGMCPP.3.5 /machine:x64
Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : warning TI0000 : Программе импорта библиотек типов не удалось преобразо
вать подпись для члена "tagCALPOLESTR.pElems".
TlbImp : warning TI0000 : Программе импорта библиотек типов не удалось преобразо
вать подпись для члена "tagCADWORD.pElems".
TlbImp : error TI0000 : System.SystemException - Модуль импорта библиотеки типов
 обнаружил ошибку при проверке типа. Попытайтесь провести импорт без членов клас
са. : System.MissingMethodException - Метод не найден: "System.String AGMCPP.3.5
.IMCDuct.get_ObjectID()".
Я пока в тупике... :(
« Последнее редактирование: 24-04-2014, 12:04:20 от Agens »
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: как подключить *.arx в VB.NET...
« Ответ #10 : 24-04-2014, 12:08:02 »
Стоп. Я что-то не понял.  А в http://adn-cis.org/forum/index.php?topic=695.msg2443#msg2443 ты разве не подключил arx-файл как DLL?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: как подключить *.arx в VB.NET...
« Ответ #11 : 24-04-2014, 12:13:37 »
но в коде из нет, не знаю что делать...
Соответствующие using (в VB кажется import) в файл кода добавлены?

Оффлайн AgensАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 223
  • Карма: 0
Re: как подключить *.arx в VB.NET...
« Ответ #12 : 24-04-2014, 12:14:44 »
простите, может я что- то не понимаю. вроде как подключил, но не могу код написать, используя библиотеку...
Цитировать
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
Imports AGMCPP
VS2019, VBA 7.1, VB.NET, C#, ACAD2019, Revit 2020

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: как подключить *.arx в VB.NET...
« Ответ #13 : 24-04-2014, 12:15:39 »
Ну и не забыть (желательно в методе Initialize) убедится, что этот arx-файл загружен, а если не загружен, то загрузить его.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: как подключить *.arx в VB.NET...
« Ответ #14 : 24-04-2014, 12:17:31 »
Ну и не забыть (желательно в методе Initialize) убедится, что этот arx-файл загружен, а если не загружен, то загрузить его.
Если я правильно понял автора, то он спрашивает, почему у него для спёртых им библиотек не работает IntelliSense в редакторе кода, несмотря на то, что библиотека подключена и нэймспейс расшарен (согласно его утверждению).