1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Перезапуск Eplan после компиляции изменений

Сценарии / Модули API

Модератор: специалисты Eplan

Ответить

Автор темы
Brian Eastman
здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 23 ноя 2017, 00:14
Имя: Антон
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 4 раза

Перезапуск Eplan после компиляции изменений

Сообщение Brian Eastman »

Всем привет! Начал изучать Eplan API, и сразу возник вопрос, действительно нужно постоянно перезапускать Eplan и выгружать Add-Ins, и потом опять запускать, если постоянно меняешь что-то в программе?
Просто если просто ограничиться выгрузкой Add-In`a, то никаких изменений не происходит.
Спасибо!

//Называть. Что заставляет так темы?
Последний раз редактировалось aranea 01 окт 2018, 14:19, всего редактировалось 1 раз.
Причина: поправил заголовок

VladimirK
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 28 сен 2018, 15:27
Имя: Владимир
Благодарил (а): 5 раз
Поблагодарили: 6 раз

API. Перезапуск Eplan

Сообщение VladimirK »

Здравствуйте!

Когда Вы пишете свой класс AddIn'a, то реализуете методы интерфейса IEplAddin (OnRegister, OnInit, OnInitGui, OnExit, OnUnregister).
И важно, что они вызываются Eplan'ом в определённой последовательности:
* При загрузке AddIn'а: последовательно выполняются OnRegister, OnInit, OnInitGui;
* При выгрузке AddIn'а: OnExit, OnUnregister;
* При открытии Eplan'а с уже загруженным AddIn'ом: OnInit, OnInitGui;
* При закрытии Eplan'а с уже загруженным AddIn'ом: OnExit.

Не обязательно постоянно перезапускать Eplan, ведь можно использовать режим отладки.
Только для этого в Visual Studio необходимо немного настроить проект:
1. Зайдите в свойства проекта Visual Studio (Проект/Свойства или Alt+Enter);
2. В настройках "События сборки" впишите командную строку события после сборки (Build Events.png).
3. В настройках "Отладка" для конфигурации "Debug" выберите действие "Запуск внешней программы", указав в качестве этой внешней программы полный путь к EPLAN.exe. Здесь же укажите аргумент командной строки для EPLAN и рабочий каталог (Debug.png).

В результате Вы сможете запускать отладку в Visual Studio стандартным способом (Пуск, F5).
Благодаря настройкам при успешной сборке Visual Studio сама будет копировать готовую dll в целевую директорию и запускать EPLAN 8-)
Вы сможете ставить в коде точки останова при уже запущенном таким способом процессе Eplan'а и даже "налету" корректировать код программы!
Build Events.png
Debug.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 60 раз
Поблагодарили: 181 раз

Перезапуск Eplan после компиляции изменений

Сообщение Madwolf »

VladimirK писал(а): 01 окт 2018, 13:49 Не обязательно постоянно перезапускать Eplan
- в версиях Еплана начиная с 2.5 обязательно, пока не пришлете видео, не поверю. Изменения после перекомпиляции действительны только после перезапуска Еплан. (раньше он даже собрать сборку не давал).
VladimirK писал(а): 01 окт 2018, 13:49 и даже "налету" корректировать код программы!
- это вообще фантастика, учитывая то, что я выше сказал.
При попытке правки текста сразу студия дает нам понять ху из ху:
Снимок.PNG
Чтобы принять изменения в код, нужно выйти из режима отладки, заново собрать сборку и перезапустить Еплан.
Буду рад если я окажусь неправ, покажите видео в таком случае, пожалуйста .

р.с. команда copy /Y "$(TargetPath)" "С:" не рабочая (у меня по крайней мере), т.к. на уровне системы недостаточно прав для копирования на системный диск. Да диск d: копирует без вопросов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

VladimirK
здесь недавно
здесь недавно
Сообщения: 12
Зарегистрирован: 28 сен 2018, 15:27
Имя: Владимир
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Перезапуск Eplan после компиляции изменений

Сообщение VladimirK »

Здравствуйте,
Я только начал работать с Eplan, поэтому не могу сказать про разные версии. Но в версии 2.7 и Visual Studio 2015 получается не перезапускать Eplan. Например, я написал классы AddIn'а и Action'а, потом просто запустил отладку в студии (Пуск, F5). Visual Studio скомпилировала код, собрала сборку, скопировала её в целевую директорию и запустила Eplan. После этого я загрузил AddIn - появилось меню с пунктом меню. И потом главный момент - для правки кода в Visual Studio просто нажимаю на кнопку "Прервать всё" (меню "Отладка/Прервать всё" или Ctrl+Alt+Break). В результате выполнение приложения Eplan'а приостанавливается (что-то вроде "паузы") и получается править код "налету" (в определённых пределах, например, без добавления новых зависимостей через "using"). Потом после правки кода можно нажать на кнопку "Продолжить" (F5) и Eplan возобновит работу после "паузы", при этом изменения сразу будут видны в AddIn'е, без перезапуска Eplan'а. Ссылку на ролик с описанным выше отправляю Вам в личном сообщении. Команда копирования сборки в целевую директорию рабочая, ошибка может быть или из-за прав пользователя (на запись в директорию), или если файл exe/dll занят процессом.

Автор темы
Brian Eastman
здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 23 ноя 2017, 00:14
Имя: Антон
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 4 раза

Перезапуск Eplan после компиляции изменений

Сообщение Brian Eastman »

Подтверждаю, в Eplan 2.7 и Visual Studio 2017 получается прерывать выполнение программы, подправлять код, и затем снова запускать "на лету" без перезапуска Eplan`a.

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 60 раз
Поблагодарили: 181 раз

Перезапуск Eplan после компиляции изменений

Сообщение Madwolf »

Спасибо огромное, я не профессиональный программист, не знал что можно отладку на паузу ставить. :oops:
Выяснил два момента: код можно править только при запуске через Ё из студии (как указано выше), но где лежит dll не важно, т.к. для копирования dll куда-то кроме директории проекта не вижу смысла вообще.
Еще раз :thankyou:

р.с. Для больших проектов тормозит нещадно, плюс если долго не перезапускать Ё, то и сам Еплан начинает жутко лагать у меня.
Ответить

Вернуться в «Eplan API»