HTML диалоги вместо DCL

Автор Тема: HTML диалоги вместо DCL  (Прочитано 8469 раз)

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

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
HTML диалоги вместо DCL
« : 24-11-2013, 22:27:55 »
Доброго времени суток.

- AutoCAD 2014 x86\x64 SP1 Enu

Насколько я понял из прочитанного по JavaScript API, его можно использовать в том числе и как замену DCL, создавая HTML-диалоговые окна, доступные в AutoLISP\Visual LISP. Если я не прав - прошу поправить меня, но если всё же прав, то интересно было бы глянуть на пример, демонстрирующий то, о чём я спрашиваю.

Этот же вопрос интересует и применительно к .NET API - можно ли в нём использовать HTML-странички в качестве диалоговых окон (если "да", то пример)?

Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: HTML диалоги вместо DCL
« Ответ #1 : 25-11-2013, 20:14:26 »
Из AutoLISP/VisualLISP можно вызвать HTML'евское диалоговое окно, но чтобы оно "работало" нужно, чтобы оно содержало JS-скрипты, т.е. дальше работа пойдёт уже не при помощи lisp, а при помощи JS: showhtmlmodalwindow
В ObjectARX и .NET в принципе аналогично, только имеется возможность использовать callback-функции на C++/.NET
Тут примеры: http://adndevblog.typepad.com/files/autocad_2014_getting_started_with_javascript_api.zip
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: HTML диалоги вместо DCL
« Ответ #2 : 25-11-2013, 20:39:54 »
Из AutoLISP/VisualLISP можно вызвать HTML'евское диалоговое окно, но чтобы оно "работало" нужно, чтобы оно содержало JS-скрипты, т.е. дальше работа пойдёт уже не при помощи lisp, а при помощи JS: showhtmlmodalwindow
Об этом я в курсе. Меня интересует, как результат пользовательских манипулиций, выполненных в таком окне и обработанный кодом JavaScript, передаётся в код написанный на LISP или .NET...

Качаю архив: 180 Мб - неслабо так примеров (надеюсь, что там исходники, а не получасовое видео на английском без субтитров)... :)

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: HTML диалоги вместо DCL
« Ответ #3 : 25-11-2013, 22:04:49 »
Меня интересует, как результат пользовательских манипулиций, выполненных в таком окне и обработанный кодом JavaScript, передаётся в код написанный на LISP или .NET...
Как я понял результат никуда не передается, особенно в lisp. Он передаётся в JavaScript, из которого ты можешь вызвать ObjectARX/.NET-функции.
« Последнее редактирование: 26-11-2013, 02:20:04 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: HTML диалоги вместо DCL
« Ответ #4 : 26-11-2013, 08:21:03 »
Как я понял результат никуда не передается, особенно в lisp.

Под словом "передаётся" я, разумеется, подразумевал саму ВОЗМОЖНОСТЬ непосредственной передачи данных из кода JavaScript в код, написанный на ARX\.NET\LISP, путём вызова функций\методов, написанных на этих языках и передачи им этих самых данных в качестве параметров. :)

Он передаётся в JavaScript, из которого ты можешь вызвать ObjectARX/.NET-функции.

Вот... Это и есть ответ (положительный) на тот вопрос, который я задавал :)

Теперь насчёт "не передается, особенно в lisp": я так понимаю, что если из JavaScript можно вызывать ObjectARX/.NET-функции то, скорее всего, так же имеется и возможность вызывать LISP функции, передавая им в качестве параметров результаты, полученные в диалоговом окне (поправьте, если я не прав). Но в бочке мёда есть ложка дёгтя (прочитал здесь), надеюсь, что в будущем это исправится:

Цитировать
В LISP: (showHTMLModalWindow) [так он может работать только с модальными окнами]

Вы не в курсе, планируется ли для LISP добавление функционала по работе с не модальными HTML окнами, или же он отсутствует по каким-то объективным причинам?

Кстати, дополнительный вопрос: из каких соображений незарегистрированным пользователям не отображается эта ветка форума (JavaScript) и блокируется доступ по ссылкам на его темы? Полагаю, что это ошибка в настройках, выполненных администратором, хотя могу и ошибаться...
« Последнее редактирование: 26-11-2013, 08:43:36 от Андрей Бушман »

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: HTML диалоги вместо DCL
« Ответ #5 : 26-11-2013, 09:51:14 »
Вы не в курсе, планируется ли для LISP добавление функционала по работе с не модальными HTML окнами, или же он отсутствует по каким-то объективным причинам?
Такова природа AutoLisp/VisualLisp, что он не может работать с немодальными окнами, так как доступ к немодальным окнам осуществляется из контекста приложения, а AutoLisp/VisualLisp может работать только в контексте документа.
Полагаю, что это ошибка в настройках, выполненных администратором, хотя могу и ошибаться...
Правильно полагаешь. Исправил.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Андрей БушманАвтор темы

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Re: HTML диалоги вместо DCL
« Ответ #6 : 26-11-2013, 09:57:02 »
Такова природа AutoLisp/VisualLisp, что он не может работать с немодальными окнами, так как доступ к немодальным окнам осуществляется из контекста приложения
Спасибо.