Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Экспорт класса из DLL на VC++6.0 |
Автор: neutrino 23.12.2003, 12:59 |
Приветствую! Не говоря уже о том, что я ни разу не экпортировал классы из DLL в VC++6.0, то и говорить нечего о том как их втыкать в программу, написанную под C#.NET. Объясните мне пожалуйста (или покажите на простом примере) как импортировать класс из библиотеки написанной в VC++6.0 в среду .NET и его использовать (e.g. вызвать конструктор - достаточно). Спасибо. |
Автор: AntonSaburov 23.12.2003, 14:01 | ||
Если подразумевается, что надо использовать COM-объекты, то можно посмотреть прямо в "Находках" по ключу "как в VC++.net работатьс EXEL" Если не так понял вопрос - надо подробности. |
Автор: neutrino 24.12.2003, 19:39 |
Нет, что ты, никаких COM-объектов. Элементарный класс с набором методов. Просто как это чисто технически реализовать? |
Автор: Гость_dim 24.12.2003, 22:26 |
Просто так такой класс не вызовешь. Для этого нужно писать враппер, например на Managed C++, класс который будет являтся managed классом и подгружать твой VC6 класс. |
Автор: AntonSaburov 25.12.2003, 13:01 | ||
RTFM - MSDN "Platform Invoke Examples"
|
Автор: neutrino 1.1.2004, 12:33 |
Однако это импорт функции. А как с классом проделать тоже самое? |
Автор: stab 1.1.2004, 15:31 |
Думаю это тебе должно помочь, программер ты опытный, разберешся, а если что милости просим с вопросами. http://forum.vingrad.ru/index.php?act=ST&f=2&t=13274 http://forum.vingrad.ru/index.php?act=ST&f=2&t=15002 метод, правда, хакерский... |
Автор: dim 2.1.2004, 14:19 |
Если есть header файл(ы) и библиотека импорта все будет намного проще. |
Автор: neutrino 4.1.2004, 19:54 |
Если эти хедеры написанны на С++, а мне надо в С# то как они помогут? |
Автор: dim 5.1.2004, 15:01 |
Очень просто - пишется на managed C++ managed класс который является простой оберткой для твоего реального класса. Сборку с managed классом ты уже сможешь подключать в C# и использовать свой оберточный класс как .NET класс. |
Автор: neutrino 5.1.2004, 16:05 |
Вы наверное не обратили внимание, что я написал в начале темы: "...я ни разу не экпортировал классы из DLL в VC++6.0..." И как пользоваться классами из библиотек я тоже не знаю. В книгах дома ничего не нашел. А оборточные классы на управляемом С++ я умею делать. Проблема именно в импорте класса из библиотеки. |
Автор: neutrino 5.1.2004, 16:09 |
Cully Спасибо. Я лучше введу ясность. А то у вас из-за меня голова заболит. Мне нужно просто (как я понимаю) объявить интерфейс класса из библиотеки для программы. И указать, что он находится в такой-то библиотеке. Как это чисто технически реализовать? |
Автор: dim 5.1.2004, 18:10 |
Дело в том, что исходный класс надо указать как експортируемый. Это можно сделать таким образом: class __declspec( dllexport ) SomeClass { ... }; Далее - подключить библиотеку импорта этой длл-ки в тот проект где будет использаться класс. |
Автор: neutrino 8.1.2004, 00:13 |
Я экспортирую класс. Как импортировать? Как интерфейс объявить для внешней программы? |
Автор: stab 9.1.2004, 12:39 |
neutrino, опиши, плиз, подробно какими файлами ты располагаешь или, если это не военная тайна, пришли по мылу, вместе раберемся. cully(sobaka, mlin)ngs.ru |