Кнопка F1, файл PackageContents.xml и приложение на AutoLISP.

Автор Тема: Кнопка F1, файл PackageContents.xml и приложение на AutoLISP.  (Прочитано 23220 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Тема, насколько я понимаю, не новая. Но решения найти не удалось, поэтому пишу сюда.
Есть приложение, написанное на AutoLISP. Есть PackageContents.xml для работы по технологии "bandle", в котором соответствующим образом указан help-файл и команды, которые должны "хелпится" по нажатию F1. Но вся эта, извините, хрень не работает - при нажатии на F1 в появляющемся окне аутодесковского браузера сообщается, что файл не найден. При этом само приложение работает и help-файл вызывается, но не по F1, а кнопкой в окошке приложения.

Буду благодарен, если кто-нибудь выложит пример файла PackageContents.xml  для приложения на AutoLISP с работающей кнопкой F1. Ну, или просто объяснит "где я дурак".

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Приветствую на форуме.
Буду благодарен, если кто-нибудь выложит пример файла PackageContents.xml  для приложения на AutoLISP с работающей кнопкой F1. Ну, или просто объяснит "где я дурак".
Гадать на кофейной гуще не будем - выкладывай свой bundle вместе с help-файлом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Так. У меня появляется обычная справка AutoCAD (проверял в 2013-ой версии). Посмотрю что можно сделать. Если не получится - пошлю в ADN DevHelp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
А когда ты жмешь на F1: после запуска приложения или просто наведя курсор на иконку?

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А когда ты жмешь на F1: после запуска приложения или просто наведя курсор на иконку?
Наведя курсор на иконку. Насколько я помню из диалогового окна, написанного на lisp, F1 не работает никогда - только во время запроса в командной строке.
Фактически то, что ты хочешь делается при помощи функции (setfunhelp): http://exchange.autodesk.com/autocadmep/enu/online-help/BLDSYS/2012/ENU/pages/WS1a9193826455f5ff1a32d8d10ebc6b7ccc-6954.htm
Посмотрел, работает ли F1 для приложений Autodesk. Например, MGDDBG (http://adndevblog.typepad.com/autocad/2012/04/dwg-debugger-mgddbg-app-for-autocad-20122013.html). Не работает. Во всяком случае в AutoCAD 2013. Похоже на баг.
« Последнее редактирование: 11-12-2014, 18:42:12 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Да пробовал я вставлять (setfunhelp). Эффект тот же... Самое интересное, что функция сама по себе работает, т.е. откликается правильно, а эффект - нуль.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Что-то я не очень понял: где вставляется (setfunhelp)? В архиве только vlx, исходников нет.
P.S. Сильно подозреваю, что элементарно не находится chm-файл.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
В присланном бандле этой функции нет. Я говорил только о том, что пробовал ее использовать, но безрезультатно.

Я тоже склонен полагать, что система не находит chm-файл. Вопрос только в том, почему она его не находит? Ведь все для того, чтобы найти у нее вроде есть.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Попробуй загрузить свой bundle и выполни findfile для своего chm. Я почти уверен, что вернется nil.
Поэтому для setfunhelp / help надо будет или указывать полный путь к файлу справки, или добавлять каталог в пути поддержки, или помещать файл в пути поддержки. Может быть, есть еще варианты.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Так каталог в пути поддержки есть (см.PackageContents.xml).

Да и (findfile) все находит...

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Можно попробовать нечто типа (setfunhelp (findfile "help.chm") <...>)
Но я не уверен, что сработает
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Но я не уверен, что сработает
Угадал :(

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Теперь несколько абстрактных размышлений:
1) Каким образом AutoCAD знает, что при наведении на иконку с командой и нажатии кнопки F1 он должен открыть именно этот файл справки и именно этот (кстати какой?) раздел в файле справки? Меню CUIX и BUNDLE никак не пересекаются.
2) В диалоговом окне назначение через (setfunhelp) не работает.
3) Я поверил твой bundle - в AutoCAD 2013 и 2014 x64 он не работает.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
1) Каким образом AutoCAD знает, что при наведении на иконку с командой и нажатии кнопки F1 он должен открыть именно этот файл справки и именно этот (кстати какой?) раздел в файле справки? Меню CUIX и BUNDLE никак не пересекаются.
Имя CUIX-файла прописано в PackageContents.xml. Там же прописано имя файла справки. Т.е. наведя курсор на иконку получаем имя CUIX-файла, а дальше через PackageContents.xml получаем имя файла справки.

Цитировать
3) Я поверил твой bundle - в AutoCAD 2013 и 2014 x64 он не работает.
Само приложение не работает? А что говорит? Имей в виду, там часть приложения выполняется на удаленном сервере.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Имя CUIX-файла прописано в PackageContents.xml. Там же прописано имя файла справки. Т.е. наведя курсор на иконку получаем имя CUIX-файла, а дальше через PackageContents.xml получаем имя файла справки.
Это тебе только так кажется. После того как BUNDLE загружен нет никакой взаимосвязи между CUIX и PackageContents.xml
Чтобы по F1 при наведении на иконку появлялась справка нужно делать xaml-файл:
http://adndevblog.typepad.com/autocad/2012/08/specifying-a-different-path-for-ribbon-cuix-extended-help-tooltips-using-xaml.html
Как я уже писал по F1 справка запускается только если запрос идёт в командной строке.
Само приложение не работает? А что говорит? Имей в виду, там часть приложения выполняется на удаленном сервере.
А просто не грузится: Initializing..._.setvar Enter variable name or [?]: ucsortho
Enter new value for UCSORTHO <0>: 0
Command: _.netload Assembly file name: C:\Users\Rivilis-AN\AppData\Roaming\Autodesk\ApplicationPlugins\IDEaL-Spring_web_v01_2014.bundle\Contents\bin\cnc14.dll Cannot load assembly. Error details: System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Users\Rivilis-AN\AppData\Roaming\Autodesk\ApplicationPlugins\IDEaL-Spring_web_v01_2014.bundle\Contents\bin\cnc14.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\Users\Rivilis-AN\AppData\Roaming\Autodesk\ApplicationPlugins\IDEaL-Spring_web_v01_2014.bundle\Contents\bin\cnc14.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.LoadFrom(String assemblyFile)
   at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
   at loadmgd()
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Но ко всему прочему похоже для F1 не работают относительные пути в PackageContents.xml, что конечно же является багом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Еще пару замечаний.
1) Должно быть HelpFile, а не Helpfile.
2) chm-файлы не приветствуются, т.к. настройками системы можно заблокировать их открытие (так в большинстве случаев и происходит). Рекомендуется использование htm-файла.
http://adndevblog.typepad.com/autocad/2012/04/autoloaderf1-help-integration.html
3) Создание расширенной помощи для команды: http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%202010%20User%20Documentation/index.html?url=WS1a9193826455f5ffba22e1113c6c30c0e-39dc.htm,topicNumber=d0e376084
4) Возьми готовый пример приложения из Магазина Приложений и поизучай его. Например:
https://apps.exchange.autodesk.com/ACD/en/Detail/Index?id=appstore.exchange.autodesk.com:JTBWorld-DimensionPatrol-Trial:en
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Это тебе только так кажется. После того как BUNDLE загружен нет никакой взаимосвязи между CUIX и PackageContents.xml
Это так, но я полагаю, что после загрузки PackageContents.xml в память формируется массив с данными из этого файла и указателями, при помощи которых можно добраться до данных. Во-всяком случае, так обычно делается, иначе зачем этот файл вообще нужен. Хотя я, конечно, понимаю, что это все домыслы, а реальность может оказаться много суровей.

Цитировать
Чтобы по F1 при наведении на иконку появлялась справка нужно делать xaml-файл:
Возможно это работает, но это нестандартный путь. А стандартный путь тоже работает - я изучил несколько приложений из Autodesk Exchange. Поэтому хотелось бы понять, почему не работает у меня.

Цитировать
А просто не грузится:
Странно... Но скорее всего, это система так странно реагирует на проблему с сетью, причем с твоей стороны: то ли ты работаешь через прокси и он настроен специфическим образом, то ли это защита сети "бдит". Эта dll-ка связывается с удаленным сервером, отправляет и принимает данные.

Цитировать
Но ко всему прочему похоже для F1 не работают относительные пути в PackageContents.xml, что конечно же является багом.
Вот это и настараживает - в изученых мной приложениях эти самые относительные пути прекрасно работают.

Цитировать
Должно быть HelpFile, а не Helpfile.
Это правильно, но в данном случае не помогает.

Цитировать
chm-файлы не приветствуются, т.к. настройками системы можно заблокировать их открытие (так в большинстве случаев и происходит). Рекомендуется использование htm-файла.
Менял chm на htm - не помогает.

Цитировать
Возьми готовый пример приложения из Магазина Приложений и поизучай его.
Уже изучал и не один... Кстати, именно тот пример, который ты рекомендуешь.

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Странно... Но скорее всего, это система так странно реагирует на проблему с сетью, причем с твоей стороны: то ли ты работаешь через прокси и он настроен специфическим образом, то ли это защита сети "бдит". Эта dll-ка связывается с удаленным сервером, отправляет и принимает данные.
Прокси нет. Файервол выключен. dll-ка просто не загружается, т.е. как минимум в Initialize происходит Exception.
Возможно это работает, но это нестандартный путь.
Это именно стандартный путь, который появился задолго (как минимум за две версии) до появления BUNDLE.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Александр Ривилис 13-12-2014, 16:13:14

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Похоже, нашел причину. Она в формате вызова макро в cuix-файле.
У меня было: ^C^C^P(c:stw) и это не работает. Зато работает такой формат: ^C^C_stw. Еще бы знать, почему?
С chm-файлом тоже работает.

Цитировать
Прокси нет. Файервол выключен. dll-ка просто не загружается, т.е. как минимум в Initialize происходит Exception.
Совсем непонятно. За год это первое сообщение о незагружающейся dll-ке. А ты не мог бы попробовать загрузить ее напрямую - командной netload (dll-ка лежит в папке "bin")?

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Еще бы знать, почему?
Это как раз очевидно (и я как-то тоже не обратил внимание у тебя в меню на это)-, т.к. (c:stw) трактуется AutoCAD'ом как вызов lisp-функции, а не запуск команды. А файл помощи привязывается именно к команде.
 
Совсем непонятно. За год это первое сообщение о незагружающейся dll-ке. А ты не мог бы попробовать загрузить ее напрямую - командной netload (dll-ка лежит в папке "bin")?
Интересный факт. Сегодня попробовал повторить это и dll-ка грузится и в 2013-ом и в 2014-ом. Что вчера с ней было - сейчас уже и не пойму.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Цитировать
Что вчера с ней было - сейчас уже и не пойму.
Видимо, не выспалась.:)

Спасибо за помощь!

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Это конечно не моё дело, но почему-бы тебе не избавится от lisp, если ты всё-равно грузишь dll-ки?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Так dll-ки не я писал. А вообще, просто руки не доходят - время никак не выберу. Но в планах есть...:)

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Это конечно не моё дело, но почему-бы тебе не избавится от lisp, если ты всё-равно грузишь dll-ки?
Кстати, не посоветуешь, что лучше почитать по программированию приложений для AutoCAD на VB .net?

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Кстати, не посоветуешь, что лучше почитать по программированию приложений для AutoCAD на VB .net?
Если спрашиваешь мой совет, то порекомендую не читать ничего по VB.NET, а читать по C#. Андрей Бушман привел список литературы, к которому мне нечего добавить: Литература по программированию на .NET
По программированию под AutoCAD средствами .NET есть на данный момент только одна книга на русском языке: Н.Н.Полещук. "Программирование для AutoCAD 2013-2015". ДМК Пресс, 2015, 462 с. ISBN 978-5-97060-066-5. обсуждаемая здесь: http://adn-cis.org/forum/index.php?topic=1097
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 188
  • Карма: 2
Спасибо! А не скажешь пару слов, чем C# лучше VB в контексте программирования под AutoCAD?
Да, и, если знаешь, что можно почитать на английском?

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А не скажешь пару слов, чем C# лучше VB в контексте программирования под AutoCAD?
Я приверженец C-подобных языков (C/C++/C# и т.д.), а Basic/Visual Basic/VBA/VB.NET - это учебные языки. Это моя точка зрения и навязывать я ее не буду. C# - это родной язык для .NET, а VB.NET искусственно переделаный из VB.
Англоязычной литературы по C# для AutoCAD я честно говоря сейчас и не вспомню. Наверное ничего достойного мне не попадалось. Тебе нужно изучить сам язык программирования C#, возможности платформы .NET, а как программировать для AutoCAD мы тебя здесь научим. Не бойся. :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
     Раньше ни когда справок не делал, а тут в App Store их автоматически генерят, ну и ради интереса свою написал. Из ленты всё нормально справку показывает, даже к нужному топику привязывается. Но что-то мне подсказывает, что желание обратиться к справке, у пользователя возникнет не при виде кнопки на ленте, а уже нажав на неё и вызвав команду, перед ним появится не маленькое такое диалоговое окно(в моём приложении). Вот и подумал, раз уже справка есть, чего бы в диалоге не добавить кнопку "Справка".
     Но вся сложность в том как этот файл справки найти?
AutoCAD как-то её(справки) находит, для вызова с ленты, для этого мы ему подсказываем и в PackageContents.xml пишем:
Код - XML [Выбрать]
  1. HelpFile="./Contents/Help/Import_Export.html"  
Но при этом сами мы его найти не можем
Код - Auto/Visual Lisp [Выбрать]
  1. (findfile "Import_Export.html")
вернёт nil, что и логично, потому что он не лежит "в путях поиска ..."
Можем ли мы рассчитывать, что наш boundle будет всегда ложиться в C:\ProgramData\Autodesk\ApplicationPlugins\, и тогда мы можем написать?
Код - Auto/Visual Lisp [Выбрать]
  1.  (Help "C:/ProgramData/Autodesk/ApplicationPlugins/Имя приложения.boundle/Contents/Help/Import_Export.html")

     Но так же в PackageContents.xml в разделе компонентов, в элементе RuntimeRequirements есть атрибут Support Path.
Проще тогда указать тут путь к нашему  HelpFile , а заодно и путь к нашим ресурсным dll для cuix файлов, и ещё чего-нибудь, не будет ли это злоупотреблением и через чур раздуванием списка "путей поиска вспомогательных фалов..."? Или закинуть все эти файлы в одну папку в общую кучу, чтоб каша была, и тогда только один путь в Support Path?


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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Можем ли мы рассчитывать, что наш boundle будет всегда ложиться в C:\ProgramData\Autodesk\ApplicationPlugins\
Нет. Как минимум может быть другой диск.
не будет ли это злоупотреблением и через чур раздуванием списка "путей поиска вспомогательных фалов..."?
Не будет. Длина этого списка может быть порядка 64K байт.
а заодно и путь к нашим ресурсным dll для cuix файлов
А вот это лишнее. Ресурсные dll должны лежать в одном каталоге с cuix.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Не будет. Длина этого списка может быть порядка 64K байт.
Хорошо, тогда воспользоваться Support Path, самое правильное.
Ресурсные dll должны лежать в одном каталоге с cuix
не, не лишнее, лежат то они в одном, но AutoCAD их так не находит :-( http://adn-cis.org/forum/index.php?topic=3138.msg13170#msg13170
причём первый раз AutoCAD загружает cuix из папки boundle, пока AutoCAD не закроешь, не появляется копия нашего cuix в папке Support, но и при первом запуске он не находит лежащие рядом ресурсные dll. А уже последующие запуски cuix загружается из его копии из C:\Users\...\AppData\Roaming\Autodesk\AutoCAD xxxx\Rxx.x\rus\Support

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
А что вернет (findfile "\\Contents\\Help\\Import_Export.html") ?
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

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

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
А что вернет (findfile "\\Contents\\Help\\Import_Export.html") ?
Скорее:
Код - Auto/Visual Lisp [Выбрать]
  1. (findfile ".\\Contents\\Help\\Import_Export.html")
Но вряд ли...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Скорее:
Код - Auto/Visual Lisp [Выбрать]
  1. (findfile ".\\Contents\\Help\\Import_Export.html")
Но вряд ли...
Да, именно так с точкой в начале будет работать, если только путь до точки прописан в путях поиска.
Т.е. как вариант, в путях поиска можно прописать один путь SupportPath="./Contents/Resources/R19/" там расположить ресурсную dll, а уже HelpFile расположить в .../Contents/Resources/R19/Help
Код - Auto/Visual Lisp [Выбрать]
  1. (if
  2.   (setq help_file (findfile "./Help/Import_Export.html"))
  3.    (help help_file)
  4.    (alert "Файл справки не найден")
  5. )
причём даже можно сразу
Код - Auto/Visual Lisp [Выбрать]
  1.  (help "./Help/Import_Export.html")
в случаи неудачи, если AutoCAD всё же его не найдёт, он сам выдаст сообщение, "Не удаётся найти файл справочной системы", даже сразу на нужном языке.  :)

Всё же любопытно, куда AutoCAD для себя запоминает HelpFile="./Contents/Help/Import_Export.html"

И я так понял все плавно переходят с chm справки на html?