Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: VeraParfenava от 15-08-2018, 13:48:31

Название: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 13:48:31
Доброе время суток. Пытаюсь создать свой первый плагин и возникла проблемка....Есть два проекта в одном решении: один из которых windows forms, а другой создаёт кнопочку на панели инструментов в ревите.В чём, собственно говоря, суть.....я не могу понять как по нажатию на кнопку мне открылась одна из моих форм,которую я создала во втором проекте.Буду очень благодарна за помощь!!!!!!!
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 15-08-2018, 13:52:40
Для начала пройдите курс для начинающих - http://adn-cis.org/forum/index.php?topic=284.0
Там не много на самом деле. Потом уже чуточку понимания добавится что и куда
Вы должны понимать что такое ExternalCommand и addin-файлы )
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 13:59:12
Спасибо,  проходила)))
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 15-08-2018, 14:03:02
Если нет острой необходимости оставить окно в отдельном проекте, то лучше все объединить в один проект, который вам на выходе даст одну dll. В этом проекте нужно реализовать класс, унаследованный от IExternalCommand в методе Execute которого вы и должны создавать экземпляр ваше окна и показывать его
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 14:58:50
Спасибо за ваши ответы.Но так как я начинашка...у меня появился вопрос вытекающий из вашего ответа: достаточно ли для получения единого dll файла .В моё решение добавить существующий проект?
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 15-08-2018, 15:10:55
Спасибо за ваши ответы.Но так как я начинашка...у меня появился вопрос вытекающий из вашего ответа: достаточно ли для получения единого dll файла .В моё решение добавить существующий проект?
Нет. Dll при компиляции вам дает только проект. Решение - это просто некий контейнер для работы с несколькими проектами.
Я вам написал - не в решение добавить проекта, а содержимое второго проекта (в котором окно) перенести в первый проект
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 15:26:23
Хм, так как я добавила изначально в решении.Если я поперетаскиваю свои формы и базу данных из одного проекта в другой это сработает???
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 15-08-2018, 15:29:23
Если я поперетаскиваю свои формы и базу данных из одного проекта в другой это сработает???
Ну после причесывания кода (там другие пространства имён будут и т.п.) конечно сработает. Почему нет
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 16:32:02
Надеюсь вы не сочтёте это за наглость, но я не совсем понимаю как изменить правильно пространство имён,чтобы не было конфликта и неоднозначного вызова метода.....не могли бы вы как-нибудь это на примере показать....
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 15-08-2018, 16:36:13
Надеюсь вы не сочтёте это за наглость, но я не совсем понимаю как изменить правильно пространство имён,чтобы не было конфликта и неоднозначного вызова метода.....не могли бы вы как-нибудь это на примере показать....
Установите себе ReSharper - он вам подчеркнет, когда будет неверно указано пространство имён
(https://s22.postimg.cc/ac4h53im5/2018-08-15_16_34_16-_Openings_Validator_-_Microsoft_Visual_Studio.png) (https://postimg.cc/image/ac4h53im5/)
и поможет поменять
(https://s22.postimg.cc/dx0cnzn25/2018-08-15_16_34_58-_Openings_Validator_-_Microsoft_Visual_Studio.png) (https://postimg.cc/image/dx0cnzn25/)

Скорее всего Visual Studio может это сделать сама
В любом случае - не вижу никаких проблем. Вы же ничего не пробовали еще, как я понял, а только спрашиваете
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 15-08-2018, 16:39:40
Спасибо за совет!!!!!!!!!!!!!!!!!!!!!!!!!
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 09:20:32
Итак в конечном итоге получился у меня вот такой вот код:
Код - C# [Выбрать]
  1.  try
  2.             {
  3.                 Form1 form = new Form1();
  4.                 form.Show();
  5.  
  6.                 return Result.Succeeded;
  7.             }
  8.             // Catch any exceptions and display them
  9.             catch (Autodesk.Revit.Exceptions.OperationCanceledException)
  10.             {
  11.                 return Result.Cancelled;
  12.             }
  13.             catch (Exception ex)
  14.             {
  15.                 message = ex.Message;
  16.                 return Result.Failed;
  17.              }
Но форму он конечно же не открывает.А выдаёт вот такое сообщение...и я не вполне его понимаю
(https://s8.postimg.cc/5nirulw1t/image.png) (https://postimg.cc/image/5nirulw1t/)
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 09:35:13
Переместила exe файлик в одно из мест куда он просил и он мне выдал вот такое вот
(https://s8.postimg.cc/ol2zlhetd/image.png) (https://postimg.cc/image/ol2zlhetd/)
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 16-08-2018, 09:51:34
Какой еще exe-файлик?! Не должно быть никаких файликов вообще - только одна dll!
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 09:54:05
Ну оно же само попросило.....я и дала из проекта,где WF
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 16-08-2018, 09:55:07
Проект большой? Вы его можете приложить к ответу?
Не видя проект сложно гадать
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 10:10:24
Да написало, что вложение слишком большое :(
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 16-08-2018, 10:12:01
Да написало, что вложение слишком большое :(
Я боюсь представить, что там за проект такой  :o
Пришлите мне на почту - cjmodis@gmail.com. Но мне, правда, страшно это видеть ))
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 10:31:04
Да там по фигне....сейчас пришлю старую версию...в новой поменяла провайдер,но всё равно ничего не идёт
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 16-08-2018, 13:26:15
Пишет,что вирус и не отправляет, но Касперский ничего такого не видит...
Название: Re: Объединение двух проектов
Отправлено: Александр Пекшев aka Modis от 16-08-2018, 21:15:20
Пишет,что вирус и не отправляет, но Касперский ничего такого не видит...
Просто добавьте в архив и измените расширение на, например, .zip1
Название: Re: Объединение двух проектов
Отправлено: VeraParfenava от 17-08-2018, 07:57:24
Я скама уже разобралась со своей проблемкой))