Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Создание библиотеки


Автор: Artemon 20.9.2006, 10:35
Можноли в C# создать что-нибудь на подобие dll и использовать ее в другом языке программирования, например в C++Builder или Delphi.

Автор: ivashkanet 20.9.2006, 11:22
Artemon, можно, но для этого на машине в любом случае должен быть Фрэймворк.

Автор: Exception 20.9.2006, 17:49
Ты можешь свободно использовать библиотеки из одного языка .NET в другом -- будь то C#, C++/CLI, Delphi .NET, VB .NET и т.д.

Автор: $tatic 20.9.2006, 18:29
Насколько я понял, надо использовать сборку в нативных win32 приложениях

Автор: Artemon 20.9.2006, 18:44
Хорошо, скажу по другому, 

как скомпилировать C# код, чтобы его можно было ывызвать из C++Builder,

Автор: Cr@$h 20.9.2006, 22:47
Цитата(Exception @  20.9.2006,  18:49 Найти цитируемый пост)
C++/CLI, Delphi .NET

Он не про это говорил же:
Цитата(Artemon @  20.9.2006,  11:35 Найти цитируемый пост)
C++Builder или Delphi


Цитата($tatic @  20.9.2006,  19:29 Найти цитируемый пост)
Насколько я понял, надо использовать сборку в нативных win32 приложениях 

Именно. Знаешь, как?
Цитата(Artemon @  20.9.2006,  19:44 Найти цитируемый пост)
как скомпилировать C# код, чтобы его можно было ывызвать из C++Builder

В некоторых случаях есть специальные мастеры (Wizards). Иногда они позволяют подключать сборки через COM'ы. Как это реализовано в Builder C++, я не смотрел. В любом случае, как подметил ivashkanet, нужен будет .Net. Можешь перейти на Managed C++ (CLI, C++ .Net), в том же Builder, я уверен, он есть. А так, попробуй Add reference... к проекту и укажи нужную сборку. Возможно, все интерфесы Builder напишет и будет использовать автоматически.

Автор: $tatic 21.9.2006, 13:09
Вызывать функции .Net сборки напрямую как из экспорта неуправляемой dll-ки скорее всего нельзя. Возможно, это разрешаемо в библиотеке, написанной на C++/MC++. Однако для сборки можно создать CCW (COM Callable Wrapper), т.е. файл библиотеки типов *.tlb и использовать сборку через COM в том же C++ Buider.
В студии 2002/2003  можно делать это ручками с помощью утилиты tlbexp.exe. В 2005 студии надо зайти в опции проекта (обязательно Class Library), выбрать закладку Build, в группе Output (в самом низу) поставить галку Register for COM Interop. Тогда библиотека типов будет создаваться автоматически при сборке.

Автор: Artemon 22.9.2006, 15:18
Спасибо всем, буду пробовать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)