AlexsSyr | Дата: Понедельник, 17 Августа 2015, 09:54 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Пишу Dll на С++, хочу подключить к проекту на С#.
Подключал через DLLImport, всё работает,но... Использование DllImport в моём случае не удобно, функции с 20-30 аргументами очень не удобно использовать. Следовательно нужны структуры из моей DLL.
Пытаюсь подключить через ссылки и подключить моё пространство имён. Библиотека подключается к ссылкам, но моего пространства имён VS не видит.
Прочитал про COM интерфейсы, но подробной информации не нашел. У меня уже есть готовый класс, подскажите как запихнуть его в COM интерфейс.
|
|
| |
--antonyvolkoff-- | Дата: Вторник, 18 Августа 2015, 09:43 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| Посмотри исходники движка DGLE, там используется технология MS COM. Репозиторий расположен по адресу: https://github.com/DGLE-HQ/DGLE В заголовочных файлах найди «DGLE.h»
А вообще: генерируешь GUID, создаёшь интерфейс, как класс с чисто виртуальными методами и наследуемый от IUnknown, пишешь реализацию этого класса (наследуешь от него класс реализации), добавляешь в реализацию методы QueryInterface, Release
По идее как-то так
|
|
| |