|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2011, 22:58 | #1 |
Новичок
Джуниор
Регистрация: 04.06.2011
Сообщений: 5
|
Использование методов из проекта на С++ в проекте на C#
Возникла необходимость использовать методы, написанные на С++, в проекте на С#. Как нужно подгрузить С++ файлы, чтобы методы из них можно было вызывать в проекте на С#?
|
04.06.2011, 23:00 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Оформляете С++ код в виде DLL и эту "неуправляемую" DLL используете в шарпе.
|
05.06.2011, 00:59 | #3 |
Новичок
Джуниор
Регистрация: 04.06.2011
Сообщений: 5
|
Спасибо за быстрый ответ! теперь стало ясно как это сделать
|
05.06.2011, 20:15 | #4 |
Новичок
Джуниор
Регистрация: 04.06.2011
Сообщений: 5
|
переписывая код С++ под Dll, вылезла следующая ошибка :
__declspec(dllexport) cannot be applied to a function with the __clrcall calling convention. в коде используется managed типы, отсюда возникает вопрос: Можно перевести managed методы в "unmanaged" Dll??? Если да, то как ??? |
05.06.2011, 20:50 | #5 |
Форумчанин
Регистрация: 06.05.2011
Сообщений: 287
|
managed типы в любом случае не вернёте...
мм, а откуда у Вас managed в С++? |
05.06.2011, 21:32 | #6 |
Новичок
Джуниор
Регистрация: 04.06.2011
Сообщений: 5
|
хочу отправить в Dll класс, методы которого возвращают значение типа StringCollection^ , и потом пользоваться ими в форме, написанной на С#. Есть варианты как это сделать? Статья http://msdn.microsoft.com/ru-ru/library/ms235636.aspx - не помогла
|
06.06.2011, 17:02 | #7 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Раз у вас управляемый C++, т.е. использующий .NET, то тут всё несколько проще должно быть.
Создаёте в студии проект на С++ "ClassLibrary" (должен быть такой шаблон для создания DLL). Создастся заготовка, в которую помещаете свои классы. Компилите, получаете DLL. Потом создаёте нужный проект на шарпе. Там в проекте будет раздел References. Жмете правую кнопочку и Add Reference. Там вкладка Browse и добавляете свою DLL. Всё. Теперь можно использовать классы из DLL как родные (не забывайте только пространства имён указывать). |
06.06.2011, 23:40 | #8 |
Новичок
Джуниор
Регистрация: 04.06.2011
Сообщений: 5
|
) Вчера уже дошла до такого решения и сделала сценарий, как вы порекомендовали. Только проблема: ссылку на Dll, я установила, в проекте на C# эта библиотека определилась, пространство имен тоже видно, а вот методы не видны. Может перед определением класса с методами еще какое-н ключевое слово нужно поставить?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переопределение методов. попытка 1 | The Best | Общие вопросы .NET | 0 | 20.01.2010 18:21 |
Использование методов вне класса | prikolist | Общие вопросы C/C++ | 12 | 07.05.2009 13:57 |
наследование методов | TaTT DoGG | Общие вопросы .NET | 4 | 27.02.2009 01:27 |
Использование DLL от третьей стороны в своем проекте | Yuran | Общие вопросы Delphi | 10 | 02.06.2008 19:04 |