- PVSM.RU - https://www.pvsm.ru -
Для значительного числа пользователей установка приложения равнозначна появлению ярлыка на рабочем столе или кнопки на панели инструментов. В данной статье мы рассмотрим механизм добавления меню и панелей инструментов для пользовательских приложений, устанавливаемых на nanoCAD Plus 8.5, а также разберём процедуру создания ярлыка, который позволит запускать конкретное пользовательское приложение в среде nanoCAD.
Для тех, кому интереснее попробовать, чем читать описание, сразу же приводим ссылку на дистрибутив приложения «Примеры nanoCAD SDK 8.5» [1]. После установки данного приложения при запуске nanoCAD Plus 8.5 будут автоматически загружаться примеры, созданные на LISP, C++, С#, VB.NET, JScript и VBScript, а в пользовательский интерфейс будут добавляться выпадающее меню и панель инструментов (как на заглавном скриншоте), позволяющие вызывать команды примеров.
Для начала проиллюстрируем готовое приложение для установки примеров, идущих в комплекте с nanoCAD Plus 8.5 — «Примеры nanoCAD SDK 8.5», а затем рассмотрим, как включить в его состав файл описания меню и панелей инструментов.
Инсталлятор примеров для nanoCAD представляет собой файл в формате Windows Installer с именем SamplesApp<версия>.msi. После запуска он построит список установленных версий nanoCAD, совместимых с инсталлятором, и предложит выбрать, на какие версии устанавливать приложение, а на какие — нет:
Папка установки: C:Program Files (x86)NanosoftПримеры nanoCAD SDK 8.5NCAD80x64.
Установленное приложение «Примеры nanoCAD SDK 8.5» следует добавить в список автозагрузки:
При запуске nanoCAD 8.5 в командную строку выводится сообщение о загружаемом приложении:
Загруженные команды можно выполнить:
• из командной строки,
• из установленного вместе с приложением выпадающим меню:
• или при помощи панели инструментов nanoCAD SDK, куда вынесены некоторые команды примеров SDK:
Для каждой из выбранных в процессе установки версий nanoCAD, инсталлятор создает директорию с файлами примеров:
Для платформ 8.0-8.5 устанавливается полный набор примеров (папка NCAD80x64), а для предыдущих версий платформы устанавливаются только скрипты (JS, VBS), не требующие пересборки под каждую платформу (папки получают имена по номеру версии: NC70x64 и т.п.). Это не является ограничением технологии установки приложений: если построить примеры SDK всех предыдущих версий, то можно создать единый инсталлятор, который будет устанавливать полный набор примеров на все поддерживаемые платформы.
Кроме файлов приложений, в папке с установленными примерами находится файл пакета — с расширением .package, который содержит всю необходимую информацию о пользовательских конфигурациях nanoCAD (включая приложения для загрузки и пользовательские меню) и позволяет загружать выбранную конфигурацию непосредственно при старте nanoCAD.
Рассмотрим пакетный файл для загрузки NRX-модулей из комплекта примеров для nanoCAD. Содержимое файла представляет собой следующую XML-структуру:
<?xml version="1.0" encoding="utf-8" ?>
<ApplicationPackage
xmlns="hostApplicationPackage/v01"
Name="nanoCAD SDK Samples"
>
<Components>
<ConfigEntry
FileName="NCADSDK.cfg"
FileType="CFG"
/>
<ComponentEntry
AppName="HelloNRX minimal NRX sample"
ModuleName="HelloNRX.nrx"
ModuleType="NRX"
/>
<ComponentEntry
AppName="CrossCircle Object Enabler"
ModuleName="CrossCircle.nrx"
ModuleType="NRX"
/>
<ComponentEntry
AppName="CrossCircle Commands"
ModuleName="CrossCircleUI.nrx"
ModuleType="NRX"
/>
<ComponentEntry
AppName="CrossCircle Managed Wrapper"
ModuleName="CrossCircleMg.dll"
ModuleType="NRX"
/>
<ComponentEntry
AppName="CrossCircle Managed Commands"
ModuleName="CrossCircleMgdList.dll"
ModuleType="MGD"
/>
<ComponentEntry
AppName="HelloHost .NET Sample"
ModuleName="HelloHost.dll"
ModuleType="MGD"
/>
<ComponentEntry
AppName="HelloHost VB.NET Sample"
ModuleName="HelloHostVB.dll"
ModuleType="MGD"
/>
<ComponentEntry
AppName="MultiCAD Objects"
ModuleName="McsObjects.dll"
ModuleType="MultiCAD"
/>
<ComponentEntry
AppName="MultiCAD Symbols"
ModuleName="Symbols.dll"
ModuleType="MultiCAD"
/>
<ComponentEntry
AppName="MultiCAD .NET Symbols"
ModuleName="SymbolsMgd.dll"
ModuleType="MGD"
/>
<ComponentEntry
AppName="MultiCAD .NET CustomObjects"
ModuleName="CustomObjects.dll"
ModuleType="MGD"
/>
<ComponentEntry
AppName="NSF Commands"
ModuleName="hello_nsf.nsf"
ModuleType="NSF"
/>
<ComponentEntry
AppName="Tiles LISP Sample"
ModuleName="Tiles.lsp"
ModuleType="LISP"
/>
<ComponentEntry
AppName="Hello World DCL Sample"
ModuleName="helloworld.lsp"
ModuleType="LISP"
/>
<ComponentEntry
AppName="ListDialog DCL Sample"
ModuleName="listdialog.lsp"
ModuleType="LISP"
/>
<ComponentEntry
AppName="MessageBox DCL Sample"
ModuleName="messagebox.lsp"
ModuleType="LISP"
/>
<ComponentEntry
AppName="SinDialog DCL Sample"
ModuleName="sindialog.lsp"
ModuleType="LISP"
/>
</Components>
</ApplicationPackage>
Элементы, которые используются для описания пакета:
• ApplicationPackage
• Components
• ConfigEntry
• ComponentEntry
Главный элемент ApplicationPackage содержит атрибут Name для задания имени приложения, которое по окончании загрузки будет отображаться в командной строке.
Элемент Components описывает компоненты пакета: загружаемый модуль приложения – элемент ComponentEntry, а также конфигурационный файл приложения с меню – ConfigEntry.
ComponentEntry содержит атрибуты: AppName — имя приложения, ModuleName – имя исполняемого модуля, ModuleType – тип модуля. Допускается использование следующих типов:
Дистрибутив «Примеры nanoCAD SDK 8.5» добавляет приложение в автозагрузку и оно загружается при каждом запуске платформы. Рассмотрим ситуацию, когда приложение автоматически загружать не нужно, но оно должно загружаться при запуске nanoCAD с помощью специального ярлыка на рабочем столе Windows.
1. Отключим автозагрузку:
2. Создадим ярлык для «C:Program FilesNanosoftnanoCAD x64 Plus 8.5nCad.exe» (исходим из того, что вы установили nanoCAD x64 Plus 8.5 на диск C, в папку Program Files), назовем его “nanoCAD Plus 8.5 c Примерами SDK”.lnk.
3. Добавим в командную строку параметры:
a. -r — Название стартовой конфигурации (NCADSamples),
b. -p — Название профиля (если не указан, соответствует названию стартовой конфигурации),
c. -g — путь к загружаемому приложению, может быть указан несколько раз.
При первом запуске при помощи нового ярлыка будет создан профиль, имя которого было указано в командной строке ярлыка:
Важно не путать понятия стартовой конфигурации и профиля:
Исходный код инсталлятора примеров для nanoCAD входит в состав SDK. Для того, чтобы собрать инсталлятор самостоятельно, потребуется WiX Toolset [2] версии 3.8. Пример файла с расширением .cfg также включен в состав SDK, описание процесса создания пользовательской панели инструментов и пользовательского меню nanoCAD приведено в статье [3].
Автор: nanoCAD_API
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/api/269806
Ссылки в тексте:
[1] ссылку на дистрибутив приложения «Примеры nanoCAD SDK 8.5»: http://ftp.nanocad.ru/habr/Installer8/SamplesApp85_4028.2618.4030.msi
[2] WiX Toolset: http://wixtoolset.org
[3] статье: https://habrahabr.ru/company/nanosoft/blog/239533/
[4] Источник: https://habrahabr.ru/post/343496/
Нажмите здесь для печати.