Cuix созданный в AutoCAD 2016 не хочет открываться в AutoCAD 2014

Автор Тема: Cuix созданный в AutoCAD 2016 не хочет открываться в AutoCAD 2014  (Прочитано 69632 раз)

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

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

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
А почему его самого об этом не спросить (я не об имени|фамилии)?
Обязательно спрошу, только они отвечают спустя минимум неделю.
Я кстати его и про имя\фамилию спросил, но он на этот вопрос так и не ответил. Они так ещё забавно пишут в письмах Dear ... Я конечно знаю что это Уважаемый, но почему-то читается как Дорогой  :D


Другой мой куратор, Sripathi Acharya, засунул обновления моего приложение для Civil 3D почему-то в AutoCAD, по ссылке оно есть а вот ни каким другим путём в app store его найти больше нельзя, тоже спросил его об этом неделю назад, до сих пор тишина.

Как бы есть сомнения, может я криворукий, вот и спросил тут.

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
...
они отвечают спустя минимум неделю
...
в app store
теперь понял. ) То, что вместо цивила засунули в обычный акад - это может быть обычной ошибкой (человеческий фактор) либо в настройках XML-файла пакета не был указан цивил в качестве целевого вертикального приложения (тоже могло произойти по запарке). Наверняка смогут ответить скорее всего только авторы правок.

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

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Если появится аргументированное объяснение (например от тех же авторов правки), то мне тоже будет интересно почитать его.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Но вот присылает мне мой чудо наставник, Sachin Kathare, установочный файл. А там в cuix коды ресурсов заменены на bmp фалы   ...
Что я сделал не так?
Ведь не лень было ему, (то ли Sachin то ли  Kathare, фиг знает где имя) bmp создавать из приложенных для фала справки png, и при чём даже не в сам cuix файл их запаковывать а в папку support копировать, туда же куда и Cuix при установки копируется. Как-то может нужно подсказать\намекнуть что вместе с cuix-ми нужно и ресурсные dll-ы копировать?
Подозреваю, что они просто не знают, что можно по-другому делать. Конечно, надо подсказать. Для этого они и присылают установщик, чтобы мы могли им замечания/пожелания высказать.
По поводу имени - в именах сотрудников Autodesk (может так принято в США?) сперва идет имя, потом фамилия. Скорее всего, тут так же.

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

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Но вот присылает мне мой чудо наставник, Sachin Kathare, установочный файл. А там в cuix коды ресурсов заменены на bmp фалы   ...
Что я сделал не так?
Ну в итоге, сам криворукий.
А я ещё всё думаю, а как AutoCAD узнает где ему нужный dll искать для соответствующего Cuix? Причём, странно почему-то cuxi файл он загружает не из папки bundle, а копирует его в свой support. А потом заметил строчку в примере Дмитрия SupportPath="./Resources/R19/", а я такого не писал в своём PackageContents.xml, вот он иконки и не находил. Я же раньше не знал, что можно свой bundle  скопировать в C:\ProgramData\Autodesk\ApplicationPlugins и при запуске AutoCAD сам всё подхватит и установит,  и тестировал подгружая всё вручную.
Теперь всё работает, попробую обновить ещё раз и как-то объяснить эту схему своему "наставнику", я думаю он сам по ходу не знал что так можно, дописать SupportPath в PackageContents.xml было бы проще, чем в cuix bmp-шные иконки запихивать.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А VS по-умолчанию определяет их как ICON, изменил на RCDATA и всё получилось. Потом пошёл дальше в тестах, и png определил как RCDATA, на что AutoCAD закрылся с ошибкой, и пока я это безобразие не исправил даже запускаться больше не стал выдавая ошибку.

В общем png через ресурсный dll ни как не получается использовать в AutoCAD, странно на прямую в cuix можно, а через dll нельзя.

Я пропустил этот момент, но начиная с AutoCAD 2017 SP1 можно добавлять в ресурсную dll не только ico, но и png. Autodesk'овцы исправили баг, который этому препятствовал.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
начиная с AutoCAD 2017 SP1 можно добавлять в ресурсную dll не только ico, но и png. Autodesk'овцы исправили баг, который этому препятствовал.
Круто, но... есть индивиды что до сих пор сидят на версиях 2010, всё равно для них придётся делать ico. Да и вот эта заморочка с dll для тёмной и светлой темы, могли бы сразу ещё тогда сделать png для тёмной и светлой темы, хотя это для нас, для приложений с 1-2 кнопками удобно 1-2 png, а если у приложения 6 панелей с 50-ю кнопками\иконками, конечно удобнее для всего этого использовать 1-2 ресурсных dll.

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

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
но начиная с AutoCAD 2017
Если я не ошибаюсь, но начиная с 2017 почему-то через боундел не подхватывается  SupportPath и соответственно Cuix не видит dll :-(
2018

2014


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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я конечно могу ошибаться, но SupportPath здесь роли не играет. dll-файл смотрится в том же каталоге, что одноимённый cuix-файл. Проверь не заблокирован ли у тебя dll-файл.

Я проверил у себя и в 2017 и в 2018. Всё нормально (и light, и dark):


Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Если я не ошибаюсь, но начиная с 2017 почему-то через боундел не подхватывается  SupportPath и соответственно Cuix не видит dll :-(
Замечал несколько раз такое поведение. На одном из ПК мне удалось победить эту проблему установкой всех версий C++ Redistributable и .NET Framework 4.7 (хоть Autodesk и рекомендует его не использовать). Подозреваю, что ресурсные DLL, создаваемые в современных версиях Visual Studio требуют наличия на ПК современных версий C++ Redistributable и .NET Framework. Т.к. в С++ совсем не силён, то могу только предполагать.
К слову, у меня в версиях Civil 3D 2016-2018 твоя вкладка отображается корректно.
Проверь не заблокирован ли у тебя dll-файл.
Dll заблокированы, но это не мешает  :)
« Последнее редактирование: 12-10-2017, 14:16:07 от Дмитрий Загорулькин »

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Подозреваю, что ресурсные DLL, создаваемые в современных версиях Visual Studio требуют наличия на ПК современных версий C++ Redistributable и .NET Framework. Т.к. в С++ совсем не силён, то могу только предполагать.
Нет. Это не так. В ресурсной DLL только ресурсы и наличие C++ Redistributable и .NET Framework не требуется совсем.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Меня на эту мысль навело то, что мы же задаём параметр Platform Toolset:

Он ведь как-то влияет на получаемую dll?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Он ведь как-то влияет на получаемую dll?
Нет. Для ресурсной никак не влияет. А вот для обычных влияет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Нет. Для ресурсной никак не влияет.
И Бушман Андрей то же самое пишет (http://bushman-andrey.blogspot.ru/2013/08/dll-partial-cui.html):
Цитировать
Однако, когда речь заходит о создании DLL файл ресурсов, то тут всё гораздо проще: достаточно скомпилировать файл один раз (используя любую версию инструментов), с конфигурацией Release Win32, и затем использовать его на платформах x86\x64 (я компилировал DLL x86 и при этом в Windows 7 x64 мой CUI файл успешно извлекал из него изображения).
А я уж хотел его упрекнуть в том, что он в статье писал о том, что нужно задавать этот параметр. Оказывается - нет. Лучше бы вообще не расписывал тонкости работы с Toolset (в рамках именно этой статьи), а то только с толку сбил :)

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

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
SupportPath здесь роли не играет. dll-файл смотрится в том же каталоге, что одноимённый cuix-файл.
Играет, это мы где-то на этом же форуме ещё раньше выяснили.
Дело в том что cuix грузится не из папки bundle а сначала зачем-то копируется в C:\Users\*****\AppData\Roaming\Autodesk\****\***\Support при этом dll с собой не копирует.  И так как он не находит dllрядом ищет её в путях поиска.
И вот тут какая-то проблема возникает, я уже и в ручную добавляю этот путь, но после перезагрузки AutoCAD в списке путей он пропадает :-( Была как то в 2015 версии похожая проблема, но там из-за кириллицы в путях, что ему не нравится сейчас не пойму :-(