Форум НПФ  

Вернуться   Форум НПФ "ТОПОМАТИК" > Программные продукты "Топоматик Robur" на платформе "Robur AP3" > Средства разработки Топоматик Robur > Вопросы и ответы
Ник
Пароль
Регистрация FAQ Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02-25-2019, 16:48
ZaharovMaxim ZaharovMaxim вне форума
Новичок
 
Регистрация: Feb 2019
Сообщения: 12
По умолчанию Разработка модулей Visual Studio

Здравствуйте.
Скажите пожалуйста, возможна ли разработка модулей для demo версии робура 15.0.24.3 из Visual Studio Community 2017. ОС-Win10.
Я попытался сделать модуль сперва на VB.Net потом на С# дома, но дома у меня Win10 и VS2017 Professional. Модуль собрался, но не запустился.
И вообще возможно ли создавать дополнительные модули на VB.NET? Или переходить на C#.
В качестве теста использовал пример из руководства разработчика "Привет Робур", самый первый пример. Вроде сделал все по шагам, небольшие изменения правда внес. dll собрался в папку где установлен Робур.
Ответить с цитированием
  #2  
Старый 02-25-2019, 17:12
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 128
По умолчанию

Добрый день! Разработка возможна, но Вы должны в свойствах проекта в качестве поддерживаемого фрэймворка указать Net Framework версии 3.5 или ниже.
Ответить с цитированием
  #3  
Старый 02-25-2019, 17:26
ZaharovMaxim ZaharovMaxim вне форума
Новичок
 
Регистрация: Feb 2019
Сообщения: 12
По умолчанию

Спасибо. Буду пытаться, с ходу почему то модуль не запустился.
Ответить с цитированием
  #4  
Старый 02-26-2019, 8:16
bambr bambr вне форума
Пользователь
 
Регистрация: Jan 2019
Сообщения: 91
По умолчанию

Visual Studio Community 2017 + W7 Prof - модули на C# собираются и запускаются. Не забывайте про файл *.AddIn и про нахождение своих модулей в папке с Робуром или пользуйте совет http://www.topomatic.ru/forum/showp...643&postcount=5

Последний раз редактировалось bambr, 02-26-2019 в 8:19.
Ответить с цитированием
  #5  
Старый 02-26-2019, 9:13
ZaharovMaxim ZaharovMaxim вне форума
Новичок
 
Регистрация: Feb 2019
Сообщения: 12
По умолчанию

Здравствуйте.
Все сделал согласно руководства.

Код HTML:
Imports Topomatic.ApplicationPlatform Public Class RoburPluginHost Inherits PluginHost Protected Overrides Function GetModules() As Type() Return New Type() {GetType(RoburNETx63.RopExample1Module)} End Function Public Overrides ReadOnly Property PluginName As String Get Return "RoburNETx63" End Get End Property End Class


Код HTML:
Imports Topomatic.ApplicationPlatform Imports System.ComponentModel Namespace RoburNETx63 Partial Public Class RopExample1Module Inherits [Module] Public Sub New() InitializeComponent() End Sub Public Sub New(ByVal container As IContainer) container.Add(Me) InitializeComponent() End Sub Protected Overrides Sub OnApplicationInitialized(ByVal sender As Object, ByVal e As ApplicationInitializedEventArgs) MyBase.OnApplicationInitialized(sender, e) MsgBox("Привет, Robur!") End Sub Public Sub InitializeComponent() End Sub End Class End Namespace


Код HTML:
<?xml version="1.0" encoding="utf-8" ?> <Extensibility FileVersion="1"> <Addin> <Configurations>{5CB3D0DA-DBC8-46ae-A2A2-F1E2052F3BFF}</Configurations> <Browsable>False</Browsable> <FriendlyName>Пример 1 SDK AP3</FriendlyName> <Description>Пример 1 SDK для платформы Топоматик AP3</Description> <TargetPlaform Name="" Version="15.0"/> <SortOrder>1000</SortOrder> <Assembly Name="RoburNETx63.dll" FullClassName="RoburNETx63.RopExample1PluginHost" /> </Addin> </Extensibility>


Сборка dll и AddIn собираются в папку c:\Program Files\Topomatic Robur edu 15.0\, робур запускается в режиме отладки, но сообщения нет. Или что-то в файле addIn у меня не так или вот это лишнее
Код HTML:
Public Sub InitializeComponent() End Sub

Но без этой строки ошибка, причем без разницы на VB или на С#
Ответить с цитированием
  #6  
Старый 02-26-2019, 10:44
Василий Гончаров Василий Гончаров вне форума
Разработчик Robur
 
Регистрация: Oct 2016
Сообщения: 128
По умолчанию

Добрый день!

У Вас неправильно сформирован файл AddIn.
Тэг <Assembly> отвечает за подключение сборки, в атрибуте Name указывается имя библиотеки, а в атрибут FullClassName - полное имя класса, наследника от PluginHost, включая его пространство имён. Если необходимо подключить несколько библиотек, можно указать несколько тэгов <Assembly>. У Вас класс, наследник от PluginHost имеет имя RoburPluginHost, а в файле AddIn Вы ссылаетесь RopExample1PluginHost. Предполагаю, что корректная строка для Вашего случая будет выглядеть примерно так:
Код:
<Assembly Name="RoburNETx63.dll" FullClassName="RoburNETx63.RoburPluginHost" />
Ответить с цитированием
  #7  
Старый 02-26-2019, 12:52
ZaharovMaxim ZaharovMaxim вне форума
Новичок
 
Регистрация: Feb 2019
Сообщения: 12
По умолчанию

Да, спасибо Виталий. Все заработало.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:53.

Навигация по основному сайту
Главная Каталог продуктов и услуг Где купить Сопровождение
Вакансии О компании Обзоры Канал на YouTube

vBulletin v3.0.7 , Copyright ©2000-2021, Jelsoft Enterprises Ltd.
Copyright © 2003-2021, НПФ "ТОПОМАТИК".